Функция обратного вызова DLGPROC (winuser.h)
Определяемая приложением функция обратного вызова, используемая с семействами функций CreateDialog и DialogBox . Он обрабатывает сообщения, отправленные в модальное или немодальное диалоговое окно. Тип DLGPROC определяет указатель на эту функцию обратного вызова. DialogProc — это заполнитель для имени определяемой приложением функции.
Синтаксис
DLGPROC Dlgproc;
INT_PTR Dlgproc(
HWND unnamedParam1,
UINT unnamedParam2,
WPARAM unnamedParam3,
LPARAM unnamedParam4
)
{...}
Параметры
unnamedParam1
Тип: HWND
Дескриптор диалогового окна.
unnamedParam2
Тип: UINT
Сообщение.
unnamedParam3
Тип: WPARAM
Дополнительные сведения, относящиеся к сообщению.
unnamedParam4
Тип: LPARAM
Дополнительные сведения, относящиеся к сообщению.
Тип: INT_PTR
Как правило, процедура диалогового окна должна возвращать значение TRUE , если сообщение было обработано, и FALSE , если это не так. Если процедура диалогового окна возвращает значение FALSE, диспетчер диалогов выполняет операцию диалога по умолчанию в ответ на сообщение.
Если процедура диалогового окна обрабатывает сообщение, требующее определенного возвращаемого значения, процедура диалогового окна должна задать нужное возвращаемое значение, вызвав метод SetWindowLong(hwndDlg, DWL_MSGRESULT, lResult) непосредственно перед возвратом TRUE. Обратите внимание, что необходимо вызвать SetWindowLong непосредственно перед возвратом true; Это может привести к тому, что значение DWL_MSGRESULT будет перезаписан вложенным сообщением диалогового окна.
Следующие сообщения являются исключениями из общих правил, описанных выше. Дополнительные сведения о семантике возвращаемого значения см. в документации по конкретному сообщению.
- WM_CHARTOITEM
- WM_COMPAREITEM
- WM_CTLCOLORBTN
- WM_CTLCOLORDLG
- WM_CTLCOLOREDIT
- WM_CTLCOLORLISTBOX
- WM_CTLCOLORSCROLLBAR
- WM_CTLCOLORSTATIC
- WM_INITDIALOG
- WM_QUERYDRAGICON
- WM_VKEYTOITEM
Возвращаемое значение
None
Remarks
Процедуру диалогового окна следует использовать только в том случае, если для диалогового окна используется класс диалогового окна. Это класс по умолчанию и используется, если явный класс не указан в шаблоне диалогового окна. Хотя процедура диалогового окна аналогична процедуре окна, она не должна вызывать функцию DefWindowProc для обработки нежелательных сообщений. Нежелательные сообщения обрабатываются внутренне процедурой диалогового окна.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | winuser.h (включая Windows.h) |
См. также раздел
Основные понятия
Справочные материалы