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


Макрос DialogBoxA (winuser.h)

Создает модальное диалоговое окно из ресурса шаблона диалогового окна. DialogBox не возвращает управление, пока указанная функция обратного вызова не завершает модальное диалоговое окно путем вызова функции EndDialog.

DialogBox реализуется как вызов функции DialogBoxParam.

Синтаксис

void DialogBoxA(
  [in, optional]  hInstance,
  [in]            lpTemplate,
  [in, optional]  hWndParent,
  [in, optional]  lpDialogFunc
);

Параметры

[in, optional] hInstance

Тип: HINSTANCE

Дескриптор модуля, содержащего шаблон диалогового окна. Если этот параметр имеет значение NULL, используется текущий исполняемый файл.

[in] lpTemplate

Тип: LPCTSTR

Шаблон диалогового окна. Этот параметр является указателем на строку символов, завершающую значение NULL, указывающее имя шаблона диалогового окна или целочисленное значение, указывающее идентификатор ресурса шаблона диалогового окна. Если параметр задает идентификатор ресурса, его слово высокого порядка должно быть равно нулю, а его слово с низким порядком должно содержать идентификатор. Для создания этого значения можно использовать макрос MAKEINTRESOURCE.

[in, optional] hWndParent

Тип: HWND

Дескриптор окна, которому принадлежит диалоговое окно.

[in, optional] lpDialogFunc

Тип: DLGPROC

Указатель на процедуру диалогового окна. Дополнительные сведения о процедуре диалогового окна см. в разделе DialogProc.

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

Никакой

Замечания

Макрос DialogBox использует функцию createWindowEx CreateWindowEx для создания диалогового окна. DialogBox отправляет WM_INITDIALOG сообщение (и сообщение WM_SETFONT, если шаблон задает DS_SETFONT или стиль DS_SHELLFONT) в процедуру диалогового окна. Функция отображает диалоговое окно (независимо от того, указывает ли шаблон стиль WS_VISIBLE), отключает окно владельца и запускает свой собственный цикл сообщений для получения и отправки сообщений для диалогового окна.

Когда процедура диалогового окна вызывает функцию EndDialog, DialogBox уничтожает диалоговое окно, завершает цикл сообщений, включает окно владельца (если ранее включено) и возвращает параметр nResult, заданный процедурой диалогового окна при вызове EndDialog.

Примеры

Пример см. в разделе Создание модального диалогового окна.

Заметка

Заголовок winuser.h определяет DialogBox как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
целевая платформа Виндоус
заголовка winuser.h (включая Windows.h)
библиотеки User32.lib
DLL User32.dll

См. также

концептуальные

CreateDialog

CreateWindowEx

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

DialogBoxIndirect

DialogBoxIndirectParam

DialogBoxParam

DialogProc

EndDialog

MAKEINTRESOURCE

Справочник

WM_INITDIALOG

WM_SETFONT