На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

Hook Procedures for Common Dialog Boxes



For each of the common dialog boxes, you can enable a hook procedure to process messages from the default dialog box procedure. There are two general types of common dialog hook procedures:

· The standard hook procedure used with most common dialog boxes
· The Explorer-style hook procedure supported by the Open and Save As dialog boxes



When you provide a standard hook procedure for one of the common dialog boxes, the default dialog box procedure handles its messages as follows.

Message Handling
WM_INITDIALOG The default dialog box procedure processes the message before passing it to the hook procedure. The message's lParam parameter is a pointer to the initialization structure specified when the dialog was created.
All other messages The hook procedure receives the message first. Then, the return value of the hook procedure determines whether the default dialog procedure processes the message or ignores it.


For the Explorer-style Open and Save As dialog boxes, the hook procedure does not receive messages intended for the standard controls in the common dialog box. Instead, it receives notification messages from the dialog box and messages for any additional controls that you defined in a custom template. For more information, see Explorer-Style Hook Procedures.
To enable a hook procedure, set an ENABLEHOOK value in the Flags member of the corresponding structure for the dialog box. If an ENABLEHOOK flag is set, an lpfnHook member of the structure must specify the address of the hook procedure.

The following table shows the type of hook procedure to provide for each of the common dialog boxes.

Common dialog box type Hook procedure
Color CCHookProc
Find or Replace FRHookProc
Font CFHookProc
Open or Save As
(Explorer-style) OFNHookProc
Open or Save As
(Old-style) OFNHookProcOldStyle
Print PrintHookProc
Page Setup PageSetupHook


For the Page Setup dialog box, you can also specify a PagePaintHook hook procedure. This is a special hook procedure that you can use to customize the appearance of the sample page displayed by the Page Setup dialog box.



Note The Print Setup dialog box has been superseded by the Page Setup dialog box, which should be used by new applications written for Windows 95 or for Windows NT versions 3.51 or later. However, for compatibility with earlier versions of Windows, the PrintDlg function continues to support display of the Print Setup dialog box. You can provide a SetupHookProc hook procedure for the Print Setup dialog box.




Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

Процедуры Захвата для Общих Диалоговых Ящиков



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

Стандартная процедура захвата использовалась большинством общими диалоговыми ящиками Исследователь-стиль процедуры захвата поддерживался Открывать и Сохранять Как диалоговые ящики



Когда Вы обеспечиваете стандартную процедуру захвата для одного из общих диалоговых ящиков, встроенная диалоговая процедура ящика оперирует свои сообщения следующим образом.

Обработка Сообщения
WM_INITDIALOG встроенная диалоговая процедура ящика обрабатывает сообщение перед прохождением это в рычажную процедуру. Параметр сообщения lParam является указателем в структуру инициализации определенную когда диалог был создан.
Все другие сообщения рычажная процедура получает сообщение сначала. Затем, обратная величина рычажной процедуры определяет обрабатывает встроенная диалоговая процедура сообщение или игнорирует это.


Для Исследователя-стиля Открывать и Сохраняемого Как диалоговые ящики, рычажная процедура не получает сообщения предназначенные для стандартных элементов управления в общем диалоговом ящике. Взамен, это получает сообщениям уведомления из диалогового ящика и сообщений для любых дополнительных элементов управления, которые Вы определили в заказном шаблоне. Более подробно, смотри Процедуры Захвата Explorer-Style.
Для того, чтобы приспосабливаться рычажную процедуру, установите величину ENABLEHOOK на члене Флагов соответствующей структуры для диалогового ящика. Если флаг ENABLEHOOK установлен, член lpfnHook структуры должен определить адрес рычажной процедуры.

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

Общий Захват типа диалогового блока процедуры Цвета CCHookProc Находит или Заменяет FRHookProc Font CFHookProc Открытый или Сохраняемый Как (стиль Explorer-) OFNHookProc Открытый или Сохраняемый Как (Старый-стиль) Распечатка OFNHookProcOldStyle Страничной Установки PrintHookProc PageSetupHook


Для диалогового блока Страничной Установки, Вы можете также определить процедуру захвата PagePaintHook. Это - специальная рычажная процедура, которую Вы можете использовать, чтобы модифицировать по заказу пользователя появление страницы образца отображенного диалоговым блоком Страничной Установки.



Отметьте, что Установка Распечатки диалогового блока заменена диалоговым блоком Страничной Установки, который должен быть использован новыми приложениями записанными для Windows 95 или для версий Windows NT 3.51 или позже. Тем не менее, для совместимости с более ранними версиями Windows, функция PrintDlg остается поддерживать дисплей Установки Распечатки диалогового блока. Вы можете обеспечить процедуру захвата SetupHookProc для Установки Распечатки диалогового блока.




Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz