Win32 API. Справочник по диалоговому окну
Страница 7. Функция DialogBox


Функция DialogBox

(БлокДиалога)

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

Синтаксис

int DialogBox
(
HINSTANCE hInstance,// дескриптор экземпляра программы
LPCTSTR lpTemplate,// идентифицирует шаблон диалогового окна
HWND hWndParent,// дескриптор окна владельца
DLGPROC lpDialogFunc // указатель на процедуру блока диалога
);

Параметры
hInstance
Идентифицирует экземпляр модуля, исполняемый файл которого содержит шаблон диалогового окна.
lpTemplate
Идентифицирует шаблон диалогового окна. Этот параметр является или указателем на строку символов с нулевым символом в конце, определяющую название шаблона диалогового окна, или целочисленным значением, которое определяет идентификатор ресурса шаблона блока диалога. Если параметр определяет идентификатор ресурса, его старшее слово должно быть нулевое, а его младшее слово должно содержать идентификатор. Вы можете использовать макрокоманду MAKEINTRESOURCE, чтобы создать это значение.
hWndParent
Идентифицирует окно, которое владеет блоком диалога.
lpDialogFunc
Указывает на процедуру диалогового окна. За более детальной информацией о процедуре диалогового окна обратись к статье о функции повторного вызова DialogProc.

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

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

Windows 95: Система может поддерживать максимум 16,364 дескрипторов окна.

Смотри также
CreateDialog, CreateWindowEx, DialogBoxIndirect, DialogBoxIndirectParam, DialogBoxParam, DialogProc, EndDialog, MAKEINTRESOURCE, WM_INITDIALOG, WM_SETFONT

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

Windows NTДа 
Win95Да
Win32sДа
Импортируемая библиотекаuser32.lib
Заголовочный файлwinuser.h
UnicodeWinNT
Замечания по платформеНе имеется

 
« Предыдущая статья   Следующая статья »