![]() |
Fehler bei TSplitter
Liste der Anhänge anzeigen (Anzahl: 1)
Moin,
mach ich nur ständig etwas falsch oder schafft es BorCodeRo es einfach nicht diese richtig zu behandeln? In meinem Manifestcreator hab ich mehrer TSplitter verbaut, dazu wurde über die Constraints auch ein paar Minimalwerte festgelegt. Nun beobachte ich schon länger, daß es Probleme gibt, wenn zwei oder mehrere Bereiche aufeinander treffen, wo sich die Min-Werte "behindern" und es eine nette Auswirkung ergibt. siehe mein Manifest-Creator > der Splitter zwischen dem TabControl und dem Memo rechts In diesem Fall z.B. MinWidth des TreeViews + MinWidth des TabControls. Wenn man da den Splitter zwischen TabControl und Memo nach Links schiebt, bis es nicht mehr weitergeht, dann vergrößert sich rechts das Memo und schiebt sich aus dem Bild, so als würde die linke Seite des Memos versuchen weiterhin nach links zu gehn und wimit die Breite sich ändert, aber aufgrund des MinWidths dennoch am Platz verbleibt. :shock: Da nun auch ein großer Teil des Memos die Form verlassen hat und MinWidth bei diesem natürlich über seine gesamte Breite gerechnet wird, kann man nach Rachst quasi ohne Beschränkung den Splitter verschieben. [edit] Wir ist auch grade wieder eingefallen, dann dieses Problem auftritt. Beispiel: - 3 Komponenten mit MinWidth nebeneinander - und jeweils ein TSplitter dazwischen (also zwei davon) - linke Komonente ist noch größer als sein MinWidth - rechter Splitter wird nach links bewegt - Splitter hält an, sobald MinWidth der mitterlen Komponente erreicht ist - inter ruscht der Splitter aber um das Stück weiter, welches bei der linken Komponente möglich wäre - allerdings verschiebt sich der linke Splitter nicht dementsprechend mit, aber die rechte Komponente reagiert so, als wenn sich der linkte Splitter verschieben würde und rutscht dabei aus'm Bild, da sie ja nicht verschoben wird |
Re: Fehler bei TSplitter
Was hat dein Memo für ein Aligment bzw welche Anchors?
|
Re: Fehler bei TSplitter
Nachdem ich alles Unwichtige rausgelöscht hab, bleibt dieses zurück:
Code:
Panel5 ist ein Trägerpanel
object Panel5: TPanel
Align = alTop object Panel6: TPanel Align = alLeft Constraints.MinWidth = 100 end object Splitter2: TSplitter AutoSnap = False MinSize = 150 ResizeStyle = rsUpdate end object PageControl1: TPageControl Align = alClient Constraints.MinWidth = 325 end object Splitter3: TSplitter Align = alRight AutoSnap = False MinSize = 150 ResizeStyle = rsUpdate end object Memo5: TMemo Align = alRight Constraints.MinWidth = 100 end end Panel6 enthielt den TreeView [edit] Links und rechts die Constraints (Panel6 und Memo5) sind egal nur wenn ich das Constraints des PageControls entferne, passiert sowas nicht, allerdings möchte ich ja für dieses eine größere Breite und bei den TSplittern kann man nur für Links/Rechts, sowie Oben/Unten eine gemeinsame Breite/Höhe festegen, weswegen ich ja die Constraints gesetzt hab. |
Re: Fehler bei TSplitter
Das ist nen Problem, mit dem ich mich auch schon ewigst rumgeärgert habe. Schreib dir am besten nen OnResize Event für die Splitter. Damit handelst du dir weniger bis garkeinen Ärger ein, als mit den Constraints.
|
Re: Fehler bei TSplitter
Splitter funktionieren nur dann richtig, wenn nur ZWEI Controls auf einem Parent-Control vorhanden sind.
Control A hat Align = left, top, right oder bottom während Control B Align=client hat. Dazwischen liegt der Splitter. Hat man drei Controls, dann muss man zwei benachbarte Controls auf ein Panel, Bevel, Groupbox oder anderen Container packen. Das Blöde ist nur, dass ein Panel oder Groupbox immer einen Rahmen hat den man in diesem Fall eigentlich nicht sehen möchte. Man bräuchte ein "Frameless Panel" nur um die daraufliegenden Controls zusammenzufassen und zu organisieren. |
Re: Fehler bei TSplitter
Is blöde.
Och, kein paar Bevel-lose Panels hab ich im Programm schon verbaut. (auch wenn man sie auf dem Screenshot nicht sieht :stupid: ) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz