Wenn schon, dann sollte man schon unabhängig vom Formular programmieren.
Folgender Code ist wiederverwendbar:
Delphi-Quellcode:
// private Hilfsfunktion
function EnumFontSizes(
var EnumLogFont: TEnumLogFont; PTextMetric: PNewTextMetric; FontType: Integer; Data: LPARAM): Integer;
export;
stdcall;
var
list : TStrings;
begin
if Data <> 0
then
begin
list := TStrings(Data);
list.Add(EnumLogFont.elfFullName+ '
,'+
IntToStr(EnumLogFont.elfLogFont.lfHeight)+'
*'+IntToStr(EnumLogFont.elfLogFont.lfWidth)
);
Result := 1;
end
else
Result := 0;
end;
procedure GetFontFamilies(
DC:HDC;
const fontname:
string; list:Tstrings);
var
fn : PChar;
begin
if fontname <> '
'
then
fn := PChar(fontname)
else
fn :=
nil;
Assert(Assigned(list));
list.BeginUpdate;
try
EnumFontFamilies(
DC, fn, @EnumFontsizes, integer(list));
finally
list.EndUpdate;
end;
end;