Функция 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 для обработки нежелательных сообщений. Нежелательные сообщения обрабатываются внутри оконной процедурой диалогового окна.
Смотри также
Обзор Диалоговые окна, Функции, используемые
диалоговыми окнами,
Размещение и совместимость DialogProc |
|
Windows. NET Server |
Да |
Windows XP |
Да |
Windows 2000 |
Да |
Windows NT |
Да версии 3.1 и выше |
Windows Me |
Да |
Windows 98 |
Да |
Windows 95 |
Да |
Используемая библиотека |
- |
Заголовочный файл |
|
- объявлено в |
Winuser.h |
- включено в |
Windows.h |
Unicode |
Нет |
Замечания по платформе |
Не имеется |