Функция DialogProc

Функция DialogProc - определяемая программой функция повторного вызова, используемая семействами функций CreateDialog и DialogBox. Она обрабатывает сообщения, отправляемые модальному или немодальному диалоговому окну. Тип DLGPROC определяет указатель на эту функцию повторного вызова. DialogProc - имя-заполнитель для определяемого программой имени функции.

Синтаксис

INT_PTR CALLBACK DialogProc(
    HWND hwndDlg,
    UINT uMsg,
    WPARAM wParam,
    LPARAM lParam
);

Параметры

hwndDlg

[in] Дескриптор диалогового окна.

uMsg

[in] Устанавливает сообщение.

wParam

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

lParam

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

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

Обычно, процедура диалогового окна должна возвратить значение ИСТИНА (TRUE), если она обработала сообщение, и ЛОЖЬ (FALSE), если она этого не сделала. Если процедура диалогового окна возвращает ЛОЖЬ (FALSE), диспетчер диалогового окна, в ответ на это сообщение, выполняет заданную по умолчанию операцию блока диалога.

Если процедура диалогового окна обрабатывает сообщение, которое требует специального возвращаемого значения, то она должна установить требуемое возвращаемое значение при помощи вызова функции SetWindowLong (hwndDlg, DWL_MSGRESULT, lResult) немедленно перед возвращением значения ИСТИНА (TRUE). 

Обратите внимание! на то, что Вы должны вызвать SetWindowLong немедленно перед возвращением ИСТИНА (TRUE); выполнение этого действия раньше может дать в результате значение DWL_MSGRESULT, переписанное в соответствии с вложенным сообщением диалогового окна.

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

Замечания

Вам следует использовать процедуру диалогового окна только в том случае, если Вы используете класс диалогового окна. Это - заданный по умолчанию класс и используется тогда, когда никакой явный класс не определен в шаблоне блока диалога. Хотя процедура диалогового окна и походит на оконную процедуру, она не должна вызвать функцию DefWindowProc для обработки нежелательных сообщений. Нежелательные сообщения обрабатываются внутри оконной процедурой диалогового окна.

Смотри также 

Обзор Диалоговые окнаФункции, используемые диалоговыми окнами CreateDialog, CreateDialogIndirect, CreateDialogIndirectParam, CreateDialogParam, DefWindowProc, DialogBox, DialogBoxIndirect, DialogBoxIndirectParam, DialogBoxParam, SetFocus, WM_INITDIALOG

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

Windows. NET Server

Да

Windows XP

Да

Windows 2000

Да

Windows NT

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

Windows Me

Да

Windows 98

Да

Windows 95

Да

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

-

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

 

- объявлено в

Winuser.h

- включено в

Windows.h

Unicode

Нет

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

Не имеется

 

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

Hosted by uCoz