Eigenschaft: Font.Pitch (TLabel)

Verweis: Font-Dialog Bedienung Font.Size Font.Name
Uses: Dialogs, StdCtrls
Eingabe: Parameter fpDefault,fpVaraiable oder fpFixed
Ausgabe: Schrift mit verschiedenen oder gleichen Abständen.
Funktion: Kann eine Schrift mit verschiedenen oder gleichen Abständen darstellen, aber nur wenn diese es auch unterstützt.

Beispiel 1

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

//Gibt Eigenschaft Pitch als String zurück
function PitchToStr(Schrift: TFont): string;
begin
  Result := '';
  case Schrift.Pitch of
    fpVariable: Result := 'fpVariable';
    fpFixed: Result := 'fpFixed';
    else
      Result := 'fpDefault';
  end;
end;

//Wähle die Schriftart und zeige den Pitch an
procedure TForm1.Label1Click(Sender: TObject);
begin
  if FontDialog1.Execute then
  begin
    Label1.Font := FontDialog1.Font;
    ShowMessage(PitchToStr(Label1.Font));
  end;
end;

procedure TForm1.FormClick(Sender: TObject);
begin
  //Diese Behauptung ist vielleicht falsch.
  label1.Font.Pitch := fpFixed;
  label1.Font.Size := 20;
  //Wird aber übernommen
  ShowMessage(PitchToStr(Label1.Font));
end;

Eines schon vorweg. Der Quelltext funktioniert in den wenigsten Fällen. Wenn Sie auf das Label klicken können Sie sich eine Schriftart auswählen. Danach wird Ihnen angezeigt ob es sich um eine Schreibmaschinenschrift fpFixed oder um fpVariable handelt. Bis hierhin funktioniert noch alles nach Plan. Wenn sie aber nun auf die Form klicken und wir Versuchen eine Schrift in eine Schreibmaschinenschrift zu pressen, dann funktioniert das nicht. Hier müsste die Schriftart dies auch unterstützen. Wenn sie auf die Form klicken, wird versucht den Pitch auf fpFixed zu setzen. Dies wird dann in der Variable Pitch übernommen, muss aber nicht stimmen.

Fazit

So bleibt lediglich anzumerken, dass Sie mit der Eigenschaft Font.Pitch eine Auswahl treffen können. Sie könnten in einem Programm dann nur fpFixed Schriftarten für den Quelltext zulassen. Aber bevor Sie sich über die Filterung der Schriften Gedanken machen, könnten Sie der TFontdialog- Komponente mit der Zeile:

FontDialog1.Options:=fdFixedPitchOnly; 

auch gleich sagen, dass Sie nur Schreibmaschinen-Schrifttypen wollen.