Поделиться через


Функция обратного вызова 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 будет перезаписан вложенным сообщением диалогового окна.

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

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

None

Remarks

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

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header winuser.h (включая Windows.h)

См. также раздел

Основные понятия

CreateDialog

CreateDialogIndirect

CreateDialogIndirectParam

CreateDialogParam

DefWindowProc

Диалоговые окна

Диалоговое окно

DialogBoxIndirect

DialogBoxIndirectParam

DialogBoxParam

Справочные материалы

SetFocus

WM_INITDIALOG