Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#7

Re: Mögliche Größen für eine Font ermitteln

  Alt 9. Okt 2006, 17:29
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;
Andreas
  Mit Zitat antworten Zitat