Фильтр-процедуры (hooks)  для стандартных диалоговых окон


Для каждого из стандартных диалоговых окон, вы можете включить фильтр (hook)- процедуру, чтобы обрабатывать сообщения из заданной по умолчанию процедуры диалогового окна. Имеются два общих типа фильтр (hook) - процедур стандартного диалогового окна:

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

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

Для диалоговых окон Открыть (Open ) и Сохранить как (Save As) в стиле Проводника, фильтр - процедура не принимает сообщения, предназначенные для стандартных органов управления в диалоговом окне. Вместо этого, она принимает уведомительные сообщения от диалогового окна и сообщения для любых дополнительных органов управления, которые вы определили в пользовательском шаблоне. Для получения дополнительной информации, см. тему Фильтр-процедуры (hooks)  для стиля Проводника.

Чтобы включить фильтр - процедуру, установите значение ENABLEHOOK в элементе Flags соответствующей структуры для диалогового окна. Если флажок ENABLEHOOK установлен, элемент lpfnHook структуры должен определить адрес фильтр - процедуры.

Следующая таблица показывает типы фильтр (hook) - процедур, которые предусматриваются для каждого из стандартных диалоговых окон.

Тип диалогового окна Фильтр-процедура (hook)  
Цвет (Color) CCHookProc
Найти (Find) или Заменить(Replace) FRHookProc
Шрифт (Font) CFHookProc
Открыть (Open) или Сохранить как (Save As) (стиль Проводника) OFNHookProc
Открыть (Open) или Сохранить как (Save As) (старый стиль) OFNHookProcOldStyle
Печать (Print) PrintHookProc
Параметры страницы (Page Setup) PageSetupHook

Для диалогового окна Параметры страницы (Page Setup), вы можете также определить и фильтр - процедуру PagePaintHook. Это - специальная фильтр - процедура, которую вы можете использовать, чтобы настроить внешний вид макета страницы, отображаемой диалоговым окном Page Setup.

Обратите внимание! на то, что диалоговое окно Print Setup заменяется диалоговым окном Page Setup. Приложения должны использовать Page Setup. Однако для совместимости, функция PrintDlg продолжает поддерживать показ диалогового окна Print Setup. Вы можете предусмотреть фильтр - процедуру SetupHookProc для диалогового окна Параметры печати (Print Setup).

 

Назад в оглавление темы
На главную страницу темы

Hosted by uCoz