Hier mal ein Beitrag der keine Frage stellt, sondern eine Lösung offenlegt, die undokumentiert in Xbase++ bereits vorhanden ist:
In jedem Xbpart (ab der Version 1.9.0.331) ist eine nicht dokumentierte Instanzvariable :LayoutAlign vorhanden. Diese bestimmt die Position und das Verhalten von XbParts beim verändern der der Parents (Resizing). Einige der unten aufgeführten Konstanten sind bereits in Xbp.ch aufgeführt, jedoch nicht alle.
Hier die definitionen der nicht veröffentlichten Konstanten:
Code: Alles auswählen
#define XBP_NOEDGE 0
#define XBP_LEFTEDGE 1
#define XBP_TOPEDGE 2
#define XBP_RIGHTEDGE 4
#define XBP_BOTTOMEDGE 8
#define XBP_RELXPOS 0x10
#define XBP_RELYPOS 0x20
#define XBP_RELWIDTH 0x40
#define XBP_RELHEIGHT 0x80
#define XBP_XCENTER 0x1000
#define XBP_YCENTER 0x2000
Code: Alles auswählen
#define TBX_ALIGN_LEFT XBP_LEFTEDGE
#define TBX_ALIGN_TOP XBP_TOPEDGE
#define TBX_ALIGN_RIGHT XBP_RIGHTEDGE
#define TBX_ALIGN_BOTTOM XBP_BOTTOMEDGE
#define TBX_ALIGN_TOPCENTER XBP_TOPEDGE + XBP_XCENTER + XBP_RELXPOS
#define TBX_ALIGN_BOTTOMCENTER XBP_BOTTOMEDGE + XBP_XCENTER + XBP_RELXPOS
#define TBX_ALIGN_LEFTSIZE XBP_LEFTEDGE + XBP_TOPEDGE + XBP_BOTTOMEDGE
#define TBX_ALIGN_TOPSIZE XBP_TOPEDGE + XBP_LEFTEDGE + XBP_RIGHTEDGE
#define TBX_ALIGN_RIGHTSIZE XBP_RIGHTEDGE + XBP_TOPEDGE + XBP_BOTTOMEDGE
#define TBX_ALIGN_BOTTOMSIZE XBP_BOTTOMEDGE + XBP_LEFTEDGE + XBP_RIGHTEDGE
#define TBX_ALIGN_CLIENT 15
Bei der Anwendung dieser :LayoutAlign Zuweisung gibt es manchmal dann Probleme, wenn man ein Fenster minimiert und anschlißend wieder maximiert.
Vermutlich ist dies der Grund, warum sie noch nicht veröffentlicht wurden.
Viel Spaß beim Probieren!