In einem Formular habe ich zwei Panels plaziert. Das linke Panel hat Align := alLeft, das rechte Align := alClient. Zwischen den beiden Panels ist ein Splitter mit Align := alLeft plaziert. Dadurch kann der Benutzer das vertikale Verhältnis zwischen den beiden Formularhälften selbst bestimmen. So weit so gut.
Wenn der Benutzer die Breite des Formulars ändert, soll das Seitenverhältnis der beiden Hälften erhalten bleiben. Im OnResize-Ereignis des Formulars errechne ich also die Breite des linken Panels und weise dem Panel die neue Breite zu. Aufgrund der Align-Eigenschaften habe ich erwartet, daß sich daraufhin auch der Splitter und das rechte Panel neu positionieren. Tun sie aber nicht.
Es hilft auch nicht die Left-Eigenschaft des Splitters und des rechten Panels zu ändern. Der Splitter bewegt sich einfach nicht. Auch ein Refresh, Repaint und Invalidate von allen beteiligten Komponenten hilft nicht.
Wie bewege ich den Splitter dazu sich wieder an das linke Panel anzuschmiegen?
Gruß
Wolfgang
Wenn der Benutzer die Breite des Formulars ändert, soll das Seitenverhältnis der beiden Hälften erhalten bleiben. Im OnResize-Ereignis des Formulars errechne ich also die Breite des linken Panels und weise dem Panel die neue Breite zu. Aufgrund der Align-Eigenschaften habe ich erwartet, daß sich daraufhin auch der Splitter und das rechte Panel neu positionieren. Tun sie aber nicht.
Es hilft auch nicht die Left-Eigenschaft des Splitters und des rechten Panels zu ändern. Der Splitter bewegt sich einfach nicht. Auch ein Refresh, Repaint und Invalidate von allen beteiligten Komponenten hilft nicht.
Wie bewege ich den Splitter dazu sich wieder an das linke Panel anzuschmiegen?
Gruß
Wolfgang
Comment