Das Layout festlegen

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Das Hauptformular


Im einfachsten Fall ergibt sich das Layout einer Benutzeroberfläche aus der Platzierung der Steuerelemente in den Formularen. Dabei werden den Eigenschaften Top, Left, Width und Height des eingefügten Objekts automatisch die Position und die Größe der Komponente zugewiesen. Diese Werte können zur Laufzeit geändert werden.

Steuerelemente verfügen jedoch auch über eine Reihe von Eigenschaften, mit denen sie automatisch an ihrem Inhalt oder ihrem Container ausgerichtet werden. Dadurch können Sie Ihre Formulare so gestalten, dass sie bei jeder Größe einheitlich wirken.

Zwei spezielle Eigenschaften steuern, wie Position und Größe eines Steuerelements relativ zu seinem Container geändert werden. Mit Align können Sie festlegen, dass ein Steuerelement entlang einer bestimmten Seite exakt in sein übergeordnetes Objekt eingepasst wird oder zusammen mit anderen Komponenten den gesamten Client-Bereich des Containers einnimmt. Bei jeder Größenänderung des Containers wird die Größe der betreffenden Steuerelemente automatisch angepasst, und sie behalten ihre Position am angegebenen Rand bei.

Soll ein Steuerelement seine Position relativ zu einer bestimmten Kante des übergeordneten Objekts positioniert bleiben, ohne jedoch diese Kante zu berühren oder in der Größe verändert zu werden, können Sie die Eigenschaft Anchors verwenden.

Soll sichergestellt sein, dass ein Steuerelement nicht zu groß oder zu klein wird, bietet sich die Eigenschaft Constraints an. Mit Constraints bestimmen Sie die maximale Höhe, die minimale Höhe, die maximale Breite und die minimale Breite. Als Maßeinheit dieser Angaben dienen Pixel. Indem Sie beispielsweise die Werte MinWidth und MinHeight eines Container-Objekts bestimmen, können Sie sicherstellen, dass die untergeordneten Objekte immer sichtbar sind.

Der Wert von Constraints wird innerhalb der gesamten Hierarchie übergeordneter und untergeordneter Steuerelemente weitergegeben, so dass die Größe eines Objekts begrenzt werden kann, weil es untergeordnete Steuerelemente enthält, deren Größe begrenzt ist. Constraints kann außerdem verhindern, dass ein Steuerelement durch Aufruf der Methode ChangeScale auf eine beliebige Größe gebracht wird.

TControl führt ein geschütztes Ereignis ein, OnConstrainedResize, das den Typ TConstrainedResizeEvent hat:

 TConstrainedResizeEvent = procedure(Sender: TObject; var MinWidth, MinHeight, MaxWidth, MaxHeight: Integer) of object;
 void __fastcall (__closure *TConstrainedResizeEvent)(System::TObject* Sender, 
    int &MinWidth, int &MinHeight, int &MaxWidth, int &MaxHeight);

Dieses Ereignis ermöglicht es Ihnen, die Größenbegrenzungen zu überschreiben, wenn versucht wird, dem Steuerelement eine andere Größe zuzuweisen. Die Werte der Begrenzungen werden als var-Parameter übergeben, die innerhalb der Ereignisbehandlungsroutine geändert werden können. OnConstrainedResize wird für Container-Objekte (TForm, TScrollBox, TControlBar und TPanel) publiziert. Darüber hinaus können die Entwickler von Komponenten dieses Ereignis für jede Ableitung von TControl verwenden oder publizieren..

Wenn sich die Größe ihres Inhalts ändern kann, verfügen Steuerelemente über die Eigenschaft AutoSize, mit der die Größe des Steuerelements an seinen Text oder seine untergeordneten Objekte angepasst werden kann.