Einzelnen Beitrag anzeigen

Benutzerbild von mael
mael

Registriert seit: 13. Jan 2005
391 Beiträge
 
Delphi XE3 Professional
 
#4

AW: Collapsible Margins

  Alt 6. Jul 2019, 16:14
Und alle Steuerelemente in ein Panel packen mit Margins.Right := 10; ?
Zum Beispiel. Aber der linke Abstand würde dann fehlen.

Für ein Control selbst sehe ich keine (einfache) Möglichkeit, herauszufinden, wo in der Positionierungssequenz es sich befindet.
Nach längerem Studium vom Delphi-Quelltext, ist mir aufgefallen dass alle Layout-Panel sich auf die CM_CONTROLLISTCHANGING Message verlassen und dann intern eine Liste verwalten.
Für ein Grid-Panel wäre dann z.B. die Zuordnung von Listen-Index zu Spalte/Zeile mit einer Art mod/div-Rechnung erledigt, als Pseudocode:
Code:
Row = Index div ColsPerRow;
Col = Index mod ColsPerRow;
Danke für die Antworten.

Ich habe mich entschieden in einem Descendant von TCustomControl das Layout zu übernehmen, analog zu TGridPanel und ähnlichen Steuerelementen.

Ist für meinem konkreten Fall wohl das Einfachste. Etwas schade dass die VCL das nicht einfacher macht. Aber WPF und CSS sind da auch umständlich, auch wenn es da zumindest "dirty hacks" gibt.
HxD, schneller Hexeditor:
http://mh-nexus.de/hxd

Geändert von mael ( 6. Jul 2019 um 16:20 Uhr)
  Mit Zitat antworten Zitat