Author | Topic: :layoutAlign | |
---|---|---|
![]() | Jan Escholt | :layoutAlign on Mon, 08 Jun 2015 20:00:43 +0200 Hallo, ich habe Probleme mit der automatischen Anpassung von GUI-Elementen, speziell Statics (sowohl "normale" als auch XBPSTATIC_TYPE_GROUPBOX). Das funktioniert alles so lange, bis ich ein XBPLAYOUT_REL... - Element einbaue. Genau das klappt dann nämlich leider nicht, wird einfach ignoriert. XbpBrowse dagegen reagiert darauf. Aber nur der Browse gesamt, nicht die Spalten darin. Wie bekomme ich die dazu, sich nach meinen Wünschen zu benehmen? Ein oBrowse:getColumn(n):layoutAlign klappt jedenfalls nicht - dann verschwindet die Spalte beim Resizing komplett. Im Gegensatz zu den Statics passiert da also was, nur leider nicht das Richtige. Jan |
![]() | Till Warweg | Re: :layoutAlign on Mon, 15 Jun 2015 12:55:55 +0200 Hallo Jan, was machst Du genau? Ich habe eben folgendes probiert oSta := XbpStatic():new( oDlg:drawingArea ) oSta:type := XBPSTATIC_TYPE_GROUPBOX oSta:layoutAlign := XBPLAYOUT_LEFT + XBPLAYOUT_RELRIGHT + XBPLAYOUT_BOTTOM + XBPLAYOUT_RELTOP oSta:create( ,, {10,100}, {150,50} ) und es schien alles zu funktionieren? Ich vermute beim XbpBrowse ist es so, daß sich beim Verwenden von :layoutAlign mit Spaltenobjekten die normale Positionierungslogik des Browses und die Anpassungen des Layout Managers sich gegenseitig in die Quere kommen. XbpBrowse muß an dieser Stelle überarbeitet werden und sollte eine spezielle Layout-Klasse verwenden. Das Anchoring-Schema der Standardklasse ist hier weniger gut geeignet. Ich habe für dieses Thema einen PDR verfasst. Schöne Grüße, Till Warweg [Alaska Software] -------------------------------------------------------------------- Technical Support: support@alaska-software.com News Server: news.alaska-software.com Homepage: http://www.alaska-software.com KnowledgeBase: http://www.alaska-software.com/kb -------------------------------------------------------------------- "Jan Escholt" schrieb im Newsbeitrag news:3dc2cb7b$2c6c4492$241f09@news.alaska-software.com... > Hallo, > > ich habe Probleme mit der automatischen Anpassung von GUI-Elementen, speziell Statics (sowohl "normale" als auch > XBPSTATIC_TYPE_GROUPBOX). Das funktioniert alles so lange, bis ich ein XBPLAYOUT_REL... - Element einbaue. Genau das > klappt dann nämlich leider nicht, wird einfach ignoriert. > > XbpBrowse dagegen reagiert darauf. Aber nur der Browse gesamt, nicht die Spalten darin. Wie bekomme ich die dazu, sich > nach meinen Wünschen zu benehmen? Ein oBrowse:getColumn(n):layoutAlign klappt jedenfalls nicht - dann verschwindet die > Spalte beim Resizing komplett. Im Gegensatz zu den Statics passiert da also was, nur leider nicht das Richtige. > > Jan |
![]() | Jan Escholt | Re: :layoutAlign on Fri, 03 Jul 2015 17:31:31 +0200 Hallo Till, gerade kämpfe ich mit einen ähnlichen Problem. Ich versuche mal, das kurz zusammen zu fassen: - Gegeben ist ein Maindialog mit {{XBP_PP_ORIGIN, XBP_ORIGIN_TOPLEFT}} - Auf diesem MainDialog eine XbpTabPage - Mit dieser als Parent erstelle ich einen Dialog ohne Rahmen, ohne Caption, ohne Icon - Auf diesem Dialog:drawingArea erstelle ich übereinander angeordnet drei Statics vom Typ GroupBox. Startpunkt der ersten bei 10 von oben, der zweiten bei oDialog:currentSize / 3, der dritte bei oDialog:currentSize / 3 * 2. Die Höhe ist jeweils oDialog:currentSize / 3 - 20 - Beim Resizen des MainDialogs sollen die drei Statics sich in der Größe anpassen. Ich habe als :layoutAlign versucht: - XBPLAYOUT_LEFT + XBPLAYOUT_RIGHT + XBPLAYOUT_TOP + XBPLAYOUT_BOTTOM: Da werden die Startpunkte oben links korrekt verschoben, aber die Höhe schrumpft auf ca. 1/6 statt 1/3 - XBPLAYOUT_LEFT + XBPLAYOUT_RIGHT + XBPLAYOUT_TOP + XBPLAYOUT_RELBOTTOM: Das natürlich nur beim obersten Static, die anderen jeweils mit REL... an den passenden Stellen. Hier werden alle Statics angepasst, aber ungleichmäßig, und sie überlappen sich Was muß ich machen, da mit die drei Groupboxen korrekt resizen? Jan Am 08.06.2015 um 20:00 schrieb Jan Escholt: > Hallo, > > ich habe Probleme mit der automatischen Anpassung von GUI-Elementen, > speziell Statics (sowohl "normale" als auch XBPSTATIC_TYPE_GROUPBOX). > Das funktioniert alles so lange, bis ich ein XBPLAYOUT_REL... - Element > einbaue. Genau das klappt dann nämlich leider nicht, wird einfach > ignoriert. > > XbpBrowse dagegen reagiert darauf. Aber nur der Browse gesamt, nicht die > Spalten darin. Wie bekomme ich die dazu, sich nach meinen Wünschen zu > benehmen? Ein oBrowse:getColumn(n):layoutAlign klappt jedenfalls nicht - > dann verschwindet die Spalte beim Resizing komplett. Im Gegensatz zu den > Statics passiert da also was, nur leider nicht das Richtige. > > Jan |