Как получить список доступных шрифтов в delphi?

Пользователь

от loyal , в категории: Другие , год назад

Как получить список доступных шрифтов в delphi?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от magdalen_kub , год назад

@loyal 

Вы можете получить список доступных шрифтов в Delphi с помощью объекта Screen и свойства Fonts.


Вот пример кода:

1
2
3
4
5
6
var
  i: Integer;
begin
  for i := 0 to Screen.Fonts.Count - 1 do
    ShowMessage(Screen.Fonts[i]);
end;


Этот код перебирает все шрифты, доступные на компьютере, и выводит их имена в сообщении ShowMessage. Можно использовать другие методы для отображения списка шрифтов, например, для помещения списка в элемент управления списка (TListBox), используя его свойство Items:

1
2
3
4
5
6
var
  i: Integer;
begin
  for i := 0 to Screen.Fonts.Count - 1 do
    ListBox1.Items.Add(Screen.Fonts[i]);
end;


Этот код добавляет каждый шрифт в элемент управления списка ListBox1.

Пользователь

от violette_robel , 4 месяца назад

@loyal 

Есть и другой способ получения списка доступных шрифтов - используя функцию EnumFonts из модуля Windows. Этот способ позволяет получить дополнительную информацию о шрифте, такую как его стиль, наличие жирности и курсива, семейство шрифтов и так далее.


Вот пример кода:


1 2 3 4 5 6 7 8 9 10 11 12 13


uses Windows;


procedure EnumFontsProc(var LogFont: TLogFont; var TextMetric: TTextMetric; FontType: Integer; Data: Pointer); stdcall; begin TStrings(Data).Add(LogFont.lfFaceName); end;


var Fonts: TStringList; begin Fonts := TStringList.Create; try EnumFonts(Canvas.Handle, nil, @EnumFontsProc, Pointer(Fonts)); ShowMessage(Fonts.Text); finally Fonts.Free; end; end;


Этот код использует функцию EnumFonts, чтобы перечислить все шрифты и добавить их имена в список Fonts. Затем он отображает список шрифтов в сообщении ShowMessage. Вы также можете использовать другие методы для отображения списка шрифтов, например, поместить их в элемент управления списка (TListBox) или использовать их для установки шрифта в элементе управления (например, TLabel) с помощью свойства Font.