// Es werden die verfügbaren Schriftarten in einer Combobox aufgelistet.
// Die auskommentierten Zeilen in der Callback-Funktion zeigen, wie man
// beispielsweise nur TrueType-Schriften oder nur Schriftarten mit fester
// Buchstabenbreite auflisten lassen kann
(entweder oder!).

// Getestet mit D4 unter Win98

function EnumFontsProc(var LogFont: tagLogFontA; var TextMetric: tagTextMetricA;  
  FontType: Integer; Data: Pointer): Integer; stdcall;  
begin  
{ if (TextMetric.tmPitchAndFamily and TMPF_TRUETYPE > 0) then }  
{ if (TextMetric.tmPitchAndFamily and TMPF_FIXED_PITCH = 0) then }  
  TStrings(Data).Add(LogFont.lfFaceName);  
  Result := 1;  
end;  
  
procedure schriftarten(wohin: TStrings);  
begin  
  EnumFonts(form1.canvas.handle, nil, @EnumFontsProc, Pointer(wohin));  
end;  
  
procedure TForm1.FormCreate(Sender: TObject);  
begin  
  schriftarten(combobox1.items);  
  combobox1.sorted := true;  
  combobox1.itemindex := combobox1.items.indexof(font.name);  
  if combobox1.itemindex < 0 then combobox1.itemindex := 0;  
end;


Zugriffe seit 6.9.2001 auf Delphi-Ecke