Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Panelhöhe abhängig von den Komponenten (https://www.delphipraxis.net/189932-panelhoehe-abhaengig-von-den-komponenten.html)

Luckner 9. Aug 2016 10:27

Panelhöhe abhängig von den Komponenten
 
Hallo,
anhand des Beispiels würde ich gerne mein Problem beschreiben:
Delphi-Quellcode:
              for i := 1 to StrToInt(ComboBoxNumerierungAnzahl.Text) do
                begin
                  oEdit := FindComponent('EditNumerierungBis' + IntToStr(i)) as TJvValidateEdit;
                  oEdit.Text := DataModuleArtikel.Artikelreferenz.FieldByName('NUMMERIERUNGBIS' + IntToStr(i)).AsString;
                end;
          end;
      PanelNummerierung.Height := FindComponent('EditNumerierungBis' + IntToStr(i)).?; Hier müsste irgendwas von EditNumerierungBis(i).Top + EditNumerierungBis(i).heigh stehen.
Die Komponenten 'EditNumerierungBis(i)' stehen untereinander. Ich möchte die Panelhöhe, in dem diese Komponenten sich befinden, in Abhängigkeit des (i) berechnen.

Danke, Luckner

Der schöne Günther 9. Aug 2016 10:34

AW: Panelhöhe abhängig von den Komponenten
 
Die Eigenschaft AutoSize eines TPanels (und Konsorten) kennst du aber, oder? Das wäre doch wirklich einfach.

Ansonsten hindert dich doch niemand in deiner For-Schleife die Gesamthöhe in einer Integer-Variablen aufzuaddieren...

Luckner 9. Aug 2016 11:17

AW: Panelhöhe abhängig von den Komponenten
 
Hallo Der schöne Günther,

'autosize' ist mir bekannt. Wie solDas jedoch funktionieren, wenn in dem Panel noch weitere Komponenten sind, die jedoch in Abhängigkeit von (i) nicht sichtbar sein sollen und das Panel nur so hoch sein soll, wie die letzte sichtbare Komponente. Das Aufaddieren in der for-Schleife würde funktionieren, wenn man auf jedem Computer die selbe Auflösung hätte. Ist aber so nicht und die Editfelder haben verschiedene Höhen(Pixel) und die Abstände untereinander ebenfalls.

Uwe Raabe 9. Aug 2016 13:21

AW: Panelhöhe abhängig von den Komponenten
 
Zitat:

Zitat von Luckner (Beitrag 1344478)
'autosize' ist mir bekannt. Wie solDas jedoch funktionieren, wenn in dem Panel noch weitere Komponenten sind, die jedoch in Abhängigkeit von (i) nicht sichtbar sein sollen und das Panel nur so hoch sein soll, wie die letzte sichtbare Komponente.

Delphi-Quellcode:
AutoSize
berücksichtigt ja auch nur sichtbare Komponenten.

Aber da nach Durchlaufen der Schleife ja das letzte sichtbare Edit eh noch in
Delphi-Quellcode:
oEdit
steht (man muss nur noch den Sonderfall abfangen, daß gar kein Edit sichtbar ist):

Delphi-Quellcode:
PanelNummerierung.Height := oEdit.Top + oEdit.Height;


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:07 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz