Читать книгу Delphi. Трюки и эффекты - Александр Чиртик - Страница 26

Глава 2
Уменьшение размера ЕХЕ-файла. Использование Windows API
2.4. Стандартные диалоговые окна Windows
Окно выбора шрифта

Оглавление

Для вывода диалогового окна выбора шрифта вполне подойдет функция, приведенная в листинге 2.27.

Листинг 2.27. Окно выбора шрифта

function ShowChooseFont(var font: LOGFONT):BOOL;

var

choose: TChooseFont;

begin

ZeroMemory(Addr(choose), SizeOf(choose));

//Заполнение структуры для диалогового окна

choose.lStructSize := SizeOf(choose);

choose.hWndOwner := hParentWnd;

choose.hInstance := hAppInst;

choose.lpLogFont := Addr(font);

choose.Flags := CF_BOTH or CF_INITTOLOGFONTSTRUCT;

//Отображение окна диалога и обработка результата

if (ChooseFont(choose) = True) then

begin

CopyMemory(Addr(font), choose.lpLogFont, SizeOf(font));

ShowChooseFont := True;

end

else ShowChooseFont := False;

end;

Здесь используются флаги окна, имеющие следующие значения:

• CF_BOTH – отображать экранные и принтерные шрифты (для показа экранных или принтерных шрифтов можно использовать флаги CFSCREENFONTS и CF_PRINTERFONTS соответственно);

• CF_INITTOLOGFONTSTRUCT – выбрать в диалоговом окне шрифт, соответствующий (или максимально похожий) шрифту, описываемому структурой LOGFONT, указатель на которую сохраняется в поле lpLogFont.

Delphi. Трюки и эффекты

Подняться наверх