Delphi 10.2 Firemonkey: TFlowLayout Höhe automatisch ändern
Hallo an alle,
gibt es eine möglichkeit, dass sich die TFlowLayout Höhe nach dem inhalt richtet? Gruß Loko |
AW: Delphi 10.2 Firemonkey: TFlowLayout Höhe automatisch ändern
Ich habe keine Option gefunden. Indem man über alle Child Controls iteriert kann man sich selber ausrechnen wie groß das Layout sein müsste damit alles vernünftig reinpasst (ClipChildren muss dafür glaube ich False sein).
Aber man müsste diese Methode immer wieder von Hand aufrufen wenn sich irgendetwas ändert. Ich sehe z.B. kein Event für wenn sich der Inhalt des Layouts ändert. |
AW: Delphi 10.2 Firemonkey: TFlowLayout Höhe automatisch ändern
Zitat:
|
AW: Delphi 10.2 Firemonkey: TFlowLayout Höhe automatisch ändern
Ich will dich nicht stalken, aber das gleiche nur ohne Flow im Panel hatten wir schon einmal:
http://www.delphipraxis.net/190153-p...iremonkey.html |
AW: Delphi 10.2 Firemonkey: TFlowLayout Höhe automatisch ändern
Zitat:
Daher würde es für mich keinen sin machen alle komponenten, die auf dem Layout sind zu zählen und daraufhin eine Höhe zu errechnen. Da ich nicht weiß welche Elemente übereinander sind und welche Nebeneinader. |
AW: Delphi 10.2 Firemonkey: TFlowLayout Höhe automatisch ändern
Eigentlich brauchst Du ja nur das eine Control, das am Tiefsten steht mit der größten Höhe. Aus der Summe von Top+Height erhältst Du dann den äußersten unteren Rand, der noch angezeigt werden muss und somit die notwendige Höhe Deines FlowLayouts.
Das könnte man z.B. so erledigen:
Delphi-Quellcode:
procedure TForm89.bnResizeFlowLayOutClick(Sender: TObject);
var L: Integer; AMax, ABot: Extended; begin AMax := 0; for L := 0 to FlowLayout1.ChildrenCount-1 do begin ABot := TControl (FlowLayout1.Children[L]).Position.Y + TControl (FlowLayout1.Children[L]).height; if ABot > AMax then AMax := ABot; end; FlowLayout1.Height := AMax; FlowLayout1.Repaint; end; |
AW: Delphi 10.2 Firemonkey: TFlowLayout Höhe automatisch ändern
Das größte Sichtbare,
und beim FMX muß auch noch der Zoom mit eingerechnet werden. |
AW: Delphi 10.2 Firemonkey: TFlowLayout Höhe automatisch ändern
Und dann auch noch die Rotation einrechnen. Und wer weiß was noch.
Sind dazu nicht fertige Eigenschaften wie
Delphi-Quellcode:
da oder verstehe ich etwas falsch?
BoundsRect
|
AW: Delphi 10.2 Firemonkey: TFlowLayout Höhe automatisch ändern
BoundsRect ist einfach nur eine Kompination aus Left, Top, Left+Width und Top+Height.
Aber es gibt da auch irgendwo Funktionen zum Umrechnen. |
AW: Delphi 10.2 Firemonkey: TFlowLayout Höhe automatisch ändern
Danke für eure Lösungsvorschläge. :-D
Aber eine konkrete Lösung gibt es noch nicht so weit wie ich das jetzt verstanden habe. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:51 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