Eigenschaft: Font.Height (TLabel)

Verweis: Font.Size AutoSize OptimalFill
Uses: clipbrd
Eingabe: Pixel als Ganzzahl:integer.
Ausgabe: Höhe des Textes in Pixel.
Funktion: Gibt die Höhe des Textes in Pixeln auf dem Bildschirm aus.

Beispiel 1

Vorbereitung: Erstellen sie eine IDE Anwendung und ziehen Sie ein TLabel und einen TButton auf die Form.

procedure TForm1.Button1Click(Sender: TObject);
begin
  case Tag of
    0: begin
      Form1.Width := 400;
      Form1.Height := 300;
      Label1.Align := alClient;
      Label1.Color := clYellow;
      Label1.OptimalFill := True;
      Label1.Caption := 'Test';
      Caption := 'Höhe= ' + IntToStr(Label1.Font.Height);
    end;
    1: begin
      Label1.Caption := 'Langer Text.';
      Caption := 'Höhe= ' + IntToStr(Label1.Font.Height);
    end;
    2: begin
      Label1.Caption := 'Ganz langer Text.';
      Caption := 'Höhe= ' + IntToStr(Label1.Font.Height);
    end;
    3: begin
      Label1.Caption := 'Dies ist der längste Text.';
      Caption := 'Höhe= ' + IntToStr(Label1.Font.Height);
    end;
  end;
  tag := tag + 1;
end;

Mit der Eigenschaft Font.Height, geben Sie die Höhe des Labels an. Mit Minuszeichen werden zu der Höhe noch ein paar Pixel hinzugefügt. Dies habe ich unter Font.Size schon ausgiebig beschrieben. Wenn Sie die Höhe der Font ohne Minuszeichen angeben, dann ist die Höhe der Font = der Höhe des Labels. Dies ist aber nur dann der Fall wenn der Wert AutoSize auf True steht.

Quelltextbeschreibung

Nach dem Festlegen der Fenstergröße schalten Wir das Label Auf die Fenstergröße und färben den Hintergrund gelb. Alles was nun gelb ist, ist das Label. Nun Schalten wir die Eigenschaft OptimalFill auf True. Dies führt dazu, dass die Eigenschaft True abgeschaltet wird, da sich die Funktionen widersprechen. Der Case Befehl in Kombination mit der Hilfsvariablen Tag sorgt dafür, dass bei jedem klick auf den Button, der Text sich ändert und die neue Höhe des Textes im Fenstertitel angezeigt wird.

Verwechselungsgefahr

Beachten Sie, dass die Eigenschaft Label1.Font.Height und Label1.Height unterschiedlich sind. Während Label1.Font.Height wie im Fenstertitel angezeigt wird, sich bei längerem Text verringert, ist dies bei der Eigenschaft Label1.Height nicht der Fall. Da wir die Eigenschaft align auf alClient gesetzt haben und dies nicht ändern, bleibt auch die Label1.Height auf 300 Pixel und ändert sich bei längerem Text nicht.