Instanzvariable :LayoutAlign

Grafische Primitive, XbaseParts und Darstellungsfragen allgemein.

Moderator: Moderatoren

Antworten
Benutzeravatar
Friedhelm
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 46
Registriert: Sa, 08. Apr 2006 17:20
Wohnort: Leverkusen
Kontaktdaten:

Instanzvariable :LayoutAlign

Beitrag von Friedhelm »

Hallo zusammen,

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
Diese Defines sind in Kombination anwendbar. Ich habe mir daraus folgende eigene Alignments gebildet:

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
ACHTUNG!
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!
Gruß Friedhelm
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21199
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: Instanzvariable :LayoutAlign

Beitrag von Manfred »

Hi Friedhelm,

hast Du doch keine Ruhe gefunden? :badgrin:

:thumbright: Prima.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re: Instanzvariable :LayoutAlign

Beitrag von UliTs »

Gehört meines Erachten's in die Wissensbasis :-)

Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Antworten