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.