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

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

//With a Callback function: 
//************************ 

function EnumFontClBack(var lp: TEnumLogFont;
   var tm: TNewTextMetric;
   dwType: DWORD;
   lpData: lParam): Integer; stdcall;
 begin
   Result := 1;
   with TForm1(lpData), Combobox1 do
   begin
     Items.Add(lp.elfLogFont.lfFaceName);
   end;
 end;


 procedure TForm1.FormShow(Sender: TObject);
 begin
   EnumFontFamilies(Canvas.Handle, nil, @EnumFontClBack, Integer(Self));
 end;

 procedure TForm1.ComboBox1Change(Sender: TObject);
 begin
   label1.Font.Name := Combobox1.Text;
 end;


 // Easier Way: 
//***************************************** 

{ 
 To show the items in the corresponding font 
 The Style of the Listbox should be lbOwnerDrawVariable 
}


     procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
   Rect: TRect; State: TOwnerDrawState);
 begin
   with ListBox1 do
   begin
     Canvas.fillrect(rect);
     Canvas.Font.Style := [fsbold];
     Canvas.Font.Name  := Listbox1.Items[Index];
     Canvas.textout(rect.Left, rect.Top, Listbox1.Items[Index]);
   end;
 end;

 procedure TForm1.FormCreate(Sender: TObject);
 begin
   ComboBox1.Items := Screen.Fonts;
 end;

 procedure TForm1.ComboBox1Change(Sender: TObject);
 begin
   label1.Font.Name := ComboBox1.Items[ComboBox1.ItemIndex];
 end;
Проект Delphi World © Выпуск 2002 - 2004
Автор проекта: ___Nikolay