Eine einfache Fontauswahl wäre so möglich (BubbleSort dient nur zur Sortierung von A nach Z):
Delphi-Quellcode:
function EnumFontClBack(var lp: TEnumLogFont; var tm: TNewTextMetric; dwType: DWORD;
lpData: lParam): Integer; stdcall;
begin
Result := 1;
with TForm2(lpData), Combobox1 do
begin
Items.Add(lp.elfLogFont.lfFaceName);
end;
end;
procedure BubbleSort(Items: TStrings);
var
done: boolean;
i, n: integer;
Dummy: string;
begin
n := Items.Count;
repeat
done := true;
for i := 0 to n - 2 do
if Items[i] > Items[i + 1] then
begin
Dummy := Items[i];
Items[i] := Items[i + 1];
Items[i + 1] := Dummy;
done := false;
end;
until done;
end;
procedure TForm2.Button1Click(Sender: TObject);
begin
EnumFontFamilies(Canvas.Handle, nil, @EnumFontClBack, Integer(Self));
BubbleSort(ComboBox1.Items);
end;