"Michael Landenberger" schrieb am 24.01.2022 um 12:52:36:
> Wo um alles in der Welt kommt das her?
Nachtrag: Hab's 'rausgefunden. DefFontData.Name wird zwar in der Deklaration
der Variablen auf 'MS Sans Serif' initialisiert. Allerdings wird die Variable
im initialization-Abschnitt der Unit VCL.Graphics anschließend mit neuen
Werten belegt, und zwar in der Prozedur "InitDefFontData". Um den Font-Namen
zu ermitteln, wird in dieser Prozedur der Registry-Key
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes\MS Shell Dlg
2 ausgelesen. Und da steht auf meinem Rechner 'Tahoma' drin. Ich nehme an,
dass dieser Registry-Eintrag immer den Namen des jeweils eingestellten
System-Fonts enthält und auch Änderungen durch den Benutzer widerspiegelt.
Daher ermittle ich den Namen des in meinem Programm zu verwendenden Fonts
jetzt einfach dadurch, dass ich ein TFont-Objekt erstelle, dessen Namen in
einer Variablen speichere und es das Objekt dann wieder freigebe. Das
funktioniert erstmal.
Gruß
Michael