4.15.2 - Настройка диалогового окна Шрифт (Font)

Вы можете предоставить пользовательский шаблон для диалогового окна Шрифт (Font), например, если хотите включить дополнительные средства управления, которые являются уникальными для вашей прикладной программы. Функция ChooseFont использует ваш пользовательский шаблон вместо шаблона, заданного по умолчанию.

Чтобы обеспечить пользовательским шаблоном диалоговое окно Шрифт (Font)

1. Создайте индивидуальный шаблон, изменив заданный по умолчанию, который определен в файле FONT.DLG. Идентификаторы элементов управления, используемые по умолчанию в шаблоне блока диалога Шрифт (Font), определены в DLGS.H файле.

2. Используйте структуру CHOOSEFONT, чтобы шаблону, как ниже перечислено, разрешить:

Если ваш пользовательский шаблон - ресурс в прикладной программе или динамически компонуемой библиотеке, установите флажок CF_ENABLETEMPLATE в элементе Flags. Используйте элементы hInstance и lpTemplateName структуры, чтобы идентифицировать имя ресурса и модуль.

-ИЛИ-

Если ваш пользовательский шаблон - уже в памяти, установите флажок CF_ENABLETEMPLATEHANDLE. Используйте элемент hInstance, чтобы идентифицировать объект памяти, который содержит шаблон.

Вы можете предоставить диалоговому окну Шрифт (Font) фильтр (hook) - процедуру CFHookProc. Фильтр (hook) - процедура может обрабатывать сообщения, переданные в диалоговое окно. Она также может передавать сообщения блоку диалога. Если вы используете пользовательский шаблон, чтобы определить дополнительные элементы управления, вы должны предоставить фильтр (hook) - процедуру, чтобы обрабатывать ввод данных для ваших элементов управления.

Чтобы включить фильтр (hook) - процедуру для диалогового окна Шрифт (Font)

1. Установите флажок CF_ENABLEHOOK в элементе Flags структуры CHOOSEFONT.

2. Определите адрес фильтр (hook) - процедуры в элементе lpfnHook.

После обработки сообщения WM_INITDIALOG, процедура диалогового окна передает сообщение WM_INITDIALOG фильтр (hook) - процедуре. Параметр lParam этого сообщения - указатель на структуру CHOOSEFONT, используемую, чтобы инициализировать диалоговое окно.

Фильтр (hook) - процедура может передавать сообщения WM_CHOOSEFONT_GETLOGFONT, WM_CHOOSEFONT_SETLOGFONT и WM_CHOOSEFONT_SETFLAGS блоку диалога, чтобы получать и устанавливать текущие значения и флажки диалогового окна.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Владимир Соковиков - 17.03.2002