Функция DialogBoxParam создает модальное диалоговое окно из шаблона ресурса блока диалога. Перед показом диалогового окна на экране, функция передает в процедуру блока диалога определяемое программой значение, такое как параметр lParam сообщения WM_INITDIALOG. Прикладная программа может использовать это значение, чтобы инициализировать органы управления диалогового окна.
Синтаксис
INT_PTR DialogBoxParam( HINSTANCE hInstance, LPCTSTR lpTemplateName, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam ); |
Параметры
hInstance
[in] Дескриптор модуля, исполняемый файл которого содержит шаблон диалогового окна.lpTemplateName
[in] Определяет шаблон диалогового окна. Этот параметр - или указатель на строку символов с нуль-терминатором в конце, которая определяет имя шаблона диалогового окна, или целочисленное значение, которое определяет идентификатор ресурса шаблона блока диалога. Если параметр определяет идентификатор ресурса, его старшее слово должно быть нуль, а младшее слово должно содержать этот идентификатор. Вы можете использовать макрокоманду MAKEINTRESOURCE, чтобы создать это значение.hWndParent
[in] Дескриптор окна, которое владеет диалоговым окном.lpDialogFunc
[in] Указатель на процедуру диалогового окна. Дополнительную информацию о процедуре диалогового окна, см. в описании DialogProc.dwInitParam
[in] Устанавливает значение, передаваемое процедуре диалогового окна в параметре lParam сообщения WM_INITDIALOG.Возвращаемое значение
Если функция завершается успешно, возвращаемое значение - значение параметра nResult, заданного при вызове к функции EndDialog, используемой, чтобы завершить работу диалогового окна.
Если функция завершается ошибкой, потому что параметр hWndParent недопустим, возвращаемое значение равняется нулю. В этой ситуации функция возвращает нуль для совместимости с предыдущими версиями Microsoft ® Windows ®. Если функция завершается ошибкой по любой другой причине, возвращаемое значение равно - (минус)1. Чтобы получить дополнительную информацию об ошибке, вызовите GetLastError.
Замечания
Чтобы создать диалоговое окно, функция DialogBoxParam использует функцию CreateWindowEx. Затем DialogBoxParam отправляет сообщение WM_INITDIALOG (и сообщение WM_SETFONT, если шаблон определяет стиль DS_SETFONT или DS_SHELLFONT) процедуре диалогового окна. Функция показывает на экране диалоговое окно (независимо от того, определяет ли шаблон стиль WS_VISIBLE), блокирует окно владельца, и начинает свой собственный цикл обработки сообщений, чтобы извлекать и распределять сообщения для диалогового окна.
Когда процедура диалогового окна вызывает функцию EndDialog, DialogBoxParam разрушает диалоговое окно, заканчивает цикл обработки сообщений, включает окно владельца (если ранее оно работало) и возвращает параметр nResult, заданный процедурой диалогового окна, когда она вызвала EndDialog.
Windows 95/98/Me: Система может поддерживать максимум 255 органов управления в шаблоне диалогового окна. Чтобы разместить больше чем 255 элементов управления в диалоговом окне, создавайте органы управления в обработчике сообщения WM_INITDIALOG, а не помещайте их в шаблон.
Windows 95/98/Me: DialogBoxParamW поддерживается программой Microsoft Layer for Unicode. Чтобы использовать ее, Вы должны добавить некоторые файлы к вашему приложению, как изложено в описании Microsoft Layer for Unicode для системы Windows 95/98/Me.i
Смотри также
Обзор Диалоговые окна, Функции,
используемые диалоговыми окнами,
CreateWindowEx,
DialogBox, DialogBoxIndirect,
Размещение и совместимость DialogBoxParam |
|
Windows. NET Server |
Да |
Windows XP |
Да |
Windows 2000 |
Да |
Windows NT |
Да версии 3.1 и выше |
Windows Me |
Да |
Windows 98 |
Да |
Windows 95 |
Да |
Используемая библиотека |
User32.lib |
Заголовочный файл |
|
- объявлено в |
Winuser.h |
- включено в |
Windows.h |
Unicode |
Нет |
Замечания по платформе |
Не имеется |