Функция FRHookProc

Фильтр - процедура FRHookProc - это определяемая программой или библиотекой процедура повторного вызова, которая используется функциями FindText или ReplaceText. Фильтр - процедура принимает сообщения или уведомления, предназначенные для заданной по умолчанию процедуры диалогового окна Найти (Find) или Заменить (Replace).

Тип LPFRHOOKPROC определяет указатель на эту функцию обратного вызова. FRHookProc - имя - заместитель для определяемого программой имени функции.

Синтаксис

UINT_PTR CALLBACK FRHookProc(
    HWND hdlg,
    UINT uiMsg,
    WPARAM wParam,
    LPARAM lParam
);

Параметры

hdlg

[in] Дескриптор окна блока диалога Найти (Find) или Заменить (Replace), для которых предназначены сообщения.

uiMsg

[in] Идентифицирует полученное сообщение.

wParam

[in] Определяет дополнительную информацию о сообщении. Точное значение зависит от значения параметра uiMsg.

lParam

[in] Определяет дополнительную информацию о сообщении. Точное значение зависит от значения параметра uiMsg.

Если параметр uiMsg обозначает сообщение WM_INITDIALOG, lParam - указатель на структуру FINDREPLACE, содержащую значения, которые были определены, когда создавалось диалоговое окно.

Возвращаемые значения

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

Если фильтр - процедура возвращает значение не - нуль, заданная по умолчанию процедура диалогового окна игнорирует сообщение.

Замечания

Когда вы используете функции FindText или ReplaceText, чтобы создать диалоговое окно Найти (Find) или Заменить (Replace), вы можете предусмотреть фильтр - процедуру FRHookProc, чтобы обрабатывать сообщения или уведомления, предназначенные для процедуры диалогового окна. Чтобы разрешить действие фильтр - процедуры, используйте структуру FINDREPLACE, которую вы передаете в функцию создания диалогового окна. Установите адрес фильтр - процедуры в члене структуры lpfnHook, а в члене Flags установите флажок FR_ENABLEHOOK.

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

Если фильтр - процедура обрабатывает сообщение WM_CTLCOLORDLG, она должна возвратить допустимый дескриптор кисти для закрашивания фона диалогового окна. Вообще, если фильтр - процедура обрабатывает какое-либо сообщение формата WM_CTLCOLOR*, она должна возвратить допустимый дескриптор кисти для закрашивания фона заданного органа управления.

Не вызывайте функцию EndDialog из фильтр - процедуры. Вместо этого, фильтр - процедура может вызывать функцию PostMessage, чтобы передать сообщение WM_COMMAND со значением IDABORT в процедуру диалогового окна. Извещение IDABORT закрывает диалоговое окно и вынуждает функцию блока диалога возвратить значение ЛОЖЬ (FALSE). Если Вам нужно знать, почему фильтр - процедура закрыла диалоговое окно, вы должны предусмотреть свой собственный механизм связи между фильтр - процедурой и вашей прикладной программой.

Вы можете делить на подклассы стандартные органы управления общего диалогового окна. Однако, и процедура стандартного диалогового окна может тоже делить на подклассы элементы управления. По этой причине, вы должны делить на подклассы органы управления тогда, когда ваша фильтр - процедура обрабатывает сообщение WM_INITDIALOG. Это гарантирует, что ваша процедура подкласса получит сообщения характерные для органов управления раньше процедуры подкласса, установленной процедурой диалогового окна.

FRHookProc - имя-заместитель для определяемого программой или библиотекой имени функции. Тип LPFRHOOKPROC - указатель на фильтр (hook) - процедуру событий FRHookProc.

Смотри также 

Обзор Библиотека стандартных диалоговых оконФункции, используемые библиотекой стандартных диалоговых окон, EndDialog, FINDREPLACE, FindText, PostMessage, ReplaceText, WM_INITDIALOG, WM_CTLCOLORDLG

Размещение и совместимость FRHookProc

Windows. NET Server

Да

Windows XP

Да

Windows 2000

Да

Windows NT

Да версии 3.1 и выше

Windows Me

Да

Windows 98

Да

Windows 95

Да

Используемая библиотека

-

Заголовочный файл

 

- объявлено в

Commdlg.h

- включено в

Windows.h

Unicode

Нет

Замечания по платформе

Не имеется

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

Hosted by uCoz