4.30 - Настройка диалогового окна Параметры страницы (Page Setup)

Вы можете предоставить пользовательский шаблон для диалогового окна Параметры страницы (Page Setup), например, если Вы желаете включать дополнительные элементы управления, которые являются уникальными в вашей прикладной программе. Функция PageSetupDlg использует ваш пользовательский шаблон вместо заданного по умолчанию шаблона.

Чтобы предоставить пользовательский шаблон для диалогового окна Параметры страницы (Page Setup).

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

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

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

ИЛИ

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

Чтобы фильтровать сообщения, пересылаемые в процедуру диалогового окна, Вы можете предоставить фильтр - процедуру PageSetupHook. Если Вы используете пользовательский шаблон, чтобы определить дополнительные элементы управления, Вы должны предоставить фильтр - процедуру PageSetupHook, которая будет обрабатывать ввод данных для ваших элементов управления. Кроме того, Вы можете предоставить фильтр - процедуру PagePaintHook, чтобы настроить содержание макета страницы, отображаемой диалоговым окном Параметры страницы (Page Setup). Для получения дополнительной информации о фильтр - процедуре PagePaintHook, см. статью Настройка Макета страницы.

Чтобы включить фильтр - процедуру PageSetupHook

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

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

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


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