00 Stimmen

Lazarus/Delphi: Unterschied zwischen Height und ClientHeight einer Form

Frage von Gast | 18.07.2015 um 23:40

Ich habe bei der TForm von Delphi und Lazarus zwei Eigenschaften entdeckt, die sich auf die Höhe der Form auswirken: Height und ClientHeight.

Was aber ist der Unterschied zwischen diesen beiden Höhen? Haben beide Angaben genau die gleiche Wirkung? Die Werte unterscheiden sich nämlich etwas voneinander. Und welche Eigenschaft soll ich verwenden, um die Höhe meines Programmfensters zu ändern?

AntwortenPositivNegativ
3Beste Antwort3 Stimmen

Beide Eigenschaften beziehen sich auf die Höhe des Fensters. Der Unterschied besteht darin, was zu der Höhe dazu gezählt wird:

  • Height ist die Gesamthöhe des Fensters inklusive der Ränder, des Menüs (TMainMenu) und der Titlebar (Programmtitel, System Icons).
  • ClientHeight ist dagegen die innere Höhe des Fensters ohne die Ränder oder das Menü. Also die Höhe des gesamten inneren Raums auf dem du Controls platzieren kannst.

Demnach wird der Wert von "Height" in der Regel größer sein als der Wert von "Clientheight". 

Da der Rahmen, die Ränder und die Titelleiste auf verschiedenen Betriebssystemen oder Windows-Versionen unterschiedlich groß sein können und zum Beispiel auch von der verwendeten Schriftgröße und dem Theme abhängen, empfiehlt es sich eher die Größe ClientHeight zu setzen, wenn man die Höhe eines dynamischen Fensters zum Beispiel an die darin enthaltenen Controls anpassen möchte. Aber sicher gibt es auch Anwendungsbereiche, die eher das Setzen von Height erforderlich machen.

Möchte man ein Fenster auf seine minimal-mögliche Höhe setzen, würde man entsprechend ClientHeight auf 0 setzen und es würde nur noch die Titelleiste angezeigt werden.

Neben Height und ClientHeight gibt es übrigens auch noch die Eigenschaften Width und ClientWidth die sich entsprechend auf die Breite des Fensters beziehen.
19.07.2015 um 18:49

AntwortenPositiv Negativ
Antworten

Ähnliche Themen

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.