AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Panelhöhe abhängig von den Komponenten
Thema durchsuchen
Ansicht
Themen-Optionen

Panelhöhe abhängig von den Komponenten

Ein Thema von Luckner · begonnen am 9. Aug 2016 · letzter Beitrag vom 9. Aug 2016
Antwort Antwort
Luckner

Registriert seit: 28. Nov 2006
Ort: Berlin
418 Beiträge
 
Delphi 7 Enterprise
 
#1

Panelhöhe abhängig von den Komponenten

  Alt 9. Aug 2016, 10:27
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
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Panelhöhe abhängig von den Komponenten

  Alt 9. Aug 2016, 10:34
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...
  Mit Zitat antworten Zitat
Luckner

Registriert seit: 28. Nov 2006
Ort: Berlin
418 Beiträge
 
Delphi 7 Enterprise
 
#3

AW: Panelhöhe abhängig von den Komponenten

  Alt 9. Aug 2016, 11:17
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.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.009 Beiträge
 
Delphi 12 Athens
 
#4

AW: Panelhöhe abhängig von den Komponenten

  Alt 9. Aug 2016, 13:21
'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.
AutoSize berücksichtigt ja auch nur sichtbare Komponenten.

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

PanelNummerierung.Height := oEdit.Top + oEdit.Height;
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:10 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