====== TFontDialog — Schrift wählen ======
Der Schriftdialog: Familie, Schnitt und Größe auswählen, mit Vorschau. Er arbeitet auf dem Schriftenkatalog von Vega ([[lyx_-_programmiersprache:vega:units:truetype|TrueType]]) und liefert am Ende einen Dateipfad samt Größe — keine Systemschriftauswahl, sondern selbst gezeichnet wie die übrigen Dialoge.
Unit: ''vega.fontdlg'' · Basis: keine — eigene Wurzel
→ [[lyx_-_programmiersprache:vega:controls|Alle Steuerelemente]] · [[lyx_-_programmiersprache:vega:klassenbaum|Klassenbaum]] · [[lyx_-_programmiersprache:vega:guides:komponenten|Guide: Komponenten]]
----
===== Vererbung =====
**Kette:** **TFontDialog** — eigene Wurzel, kein Vorfahr. Was diese Klasse kann, steht vollständig auf dieser Seite.
**Direkte Nachfahren:** keine — diese Klasse wird nicht weiter abgeleitet.
**Quelle:** ''vega/fontdlg.lyx''
----
===== Verwendung =====
var d: TFontDialog := new TFontDialog();
d.SetTitle("Schrift waehlen");
d.SetSize(14);
d.SelectPath("/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf");
if (d.Execute(app)) {
d.Apply(); // uebernimmt Familie, Schnitt und Groesse
// d.FontPath, d.Family, d.Style, d.Size stehen jetzt auf der Wahl
}
d.Destroy();
Für den einfachen Fall genügt die Kurzform:
if (ChooseFont(app, aktuellerPfad, 14)) { /* uebernommen */ }
----
===== Besonderheiten =====
* **Der Dialog liest den Schriftenkatalog**, nicht das Dateisystem unmittelbar: ''FontCatalog()'' sammelt die gefundenen TrueType-Dateien, ''ScanDefaults'' durchsucht die üblichen Pfade. Ohne vorherigen Scan bleibt die Liste leer.
* **Die Vorschau hat eine eigene Schriftinstanz** (''_previewFont''). Das ist Absicht: sonst stellte das Ausprobieren die Schrift des Dialogs selbst um, und man sähe die Auswahl doppelt.
* **''SampleText'' bestimmt den Vorschautext.** Leer heißt: der eingebaute Beispielsatz.
* **''Apply'' ist der Schritt nach ''Execute''.** ''Execute'' liefert nur, ob bestätigt wurde; erst ''Apply'' übernimmt die Wahl in die Zielschrift.
----
===== Eigenschaften =====
Alle Eigenschaften, auch die geerbten.
^ Name ^ Typ ^ Bedeutung ^ Herkunft ^
| ''Family'' | [[lyx_-_programmiersprache:vega:controls:ttextbuffer|TTextBuffer]] | Schriftfamilie | eigen |
| ''FontPath'' | [[lyx_-_programmiersprache:vega:controls:ttextbuffer|TTextBuffer]] | Vor dem Aufruf die Vorgabe, danach das Ergebnis | eigen |
| ''SampleText'' | [[lyx_-_programmiersprache:vega:controls:ttextbuffer|TTextBuffer]] | Was die Vorschau zeigt. Leer heißt: der eingebaute Beispielsatz | eigen |
| ''Size'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | Schriftgröße in Punkt | eigen |
| ''Style'' | [[lyx_-_programmiersprache:vega:controls:ttextbuffer|TTextBuffer]] | Delphis Style — derselbe Zustand unter dem gewohnten Namen | eigen |
| ''Title'' | [[lyx_-_programmiersprache:vega:controls:ttextbuffer|TTextBuffer]] | Titelzeile des Dialogs | eigen |
----
===== Methoden =====
Alle Methoden, auch die geerbten.
^ Signatur ^ Zweck ^ Herkunft ^
| ''Apply(): bool'' | Die gewaehlte Schrift für die ganze Anwendung übernehmen | eigen |
| ''Create(): void'' | Anlegen; ''new TFontDialog()'' | eigen |
| ''Destroy(): void'' | Gibt eigene Ressourcen frei | eigen |
| ''Execute(app: TApplication): bool'' | Zeigt den Dialog modal; ''true'' = bestätigt | eigen |
| ''PreviewFont(): TFont'' | Die Schrift der Vorschau | eigen |
| ''PreviewReady(): bool'' | Ob die Vorschauschrift geladen werden konnte | eigen |
| ''Sample(): pchar'' | Vorschautext | eigen |
| ''SelectFont(family: pchar, style: pchar): bool'' | Familie und Schnitt setzen; der Pfad wird im Katalog nachgeschlagen | eigen |
| ''SelectPath(path: pchar): bool'' | Vorauswahl über den Dateipfad — so gibt eine Anwendung zurück, was sie beim letzten Mal bekommen hat | eigen |
| ''SetSampleText(s: pchar): void'' | Setzt ''SampleText'' | eigen |
| ''SetSize(v: int64): void'' | Setzt ''Size'' | eigen |
| ''SetTitle(s: pchar): void'' | Setzt ''Title'' | eigen |
----
Letzte Aktualisierung: 2026-09-05 — Seite neu angelegt; erhoben aus ''vega/fontdlg.lyx'' im Repo ''lyx-vcl''.