Delphi World - Использовать EnumFontFamilies
Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Использовать EnumFontFamilies

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

{ 
  Example for the use of EnumFontFamilies. This example requires two 
  listboxes on a form. 

  Beispiel fur die Verwendung vo EnumFontFamilies. Das Beispiel benotigt 
  2 Listboxen auf der Form. 
}


 procedure TForm1.FormCreate(Sender: TObject);
 begin
   Listbox1.Items.Assign(Screen.Fonts);
 end;

 function EnumProc(var elf: TEnumLogFont;
   var ntm: TNewTextmetric;
   FontType: Integer;
   listbox: TListbox): Integer; stdcall;
 var
   S: string;
 begin
   if fonttype = TRUETYPE_FONTTYPE then
   begin
     listbox.Items.Add(Format('Name: %s', [elf.elfFullName]));
     listbox.Items.Add(Format('Style: %s', [elf.elfStyle]));
   end
   else
     listbox.Items.Add(Format('Name: %s', [elf.elfLogfont.lfFacename]));
   listbox.Items.Add(Format('Size: %d', [elf.elfLogFont.lfHeight]));
   listbox.Items.Add(Format('Weight: %d', [elf.elfLogFont.lfWeight]));
   if elf.elfLogFont.lfItalic <> 0 then
     listbox.Items.Add('This font is italic');
   case FontType of
     DEVICE_FONTTYPE: S   := 'device font';
     RASTER_FONTTYPE: S   := 'raster font';
     TRUETYPE_FONTTYPE: S := 'truetype font'
       else
         S := 'unknown font type';
   end;
   listbox.Items.Add(Format('This is a %s', [S]));
   Result := 1;
 end;

 procedure TForm1.ListBox1Click(Sender: TObject);
 begin
   listbox2.Clear;
   with listbox1 do
     if ItemIndex >= 0 then
       EnumFontFamilies(Self.Canvas.Handle, PChar(Items[ItemIndex]),
         @EnumProc, Longint(Listbox2));
 end;
Проект Delphi World © Выпуск 2002 - 2017
Автор проекта: Эксклюзивные курсы программирования