Макрокоманда CreateDialog создает немодальное диалоговое окно из шаблона
в ресурсе блока диалога. Макрокоманда CreateDialog использует функцию
CreateDialogParam.
Синтаксис
HWND CreateDialog( HINSTANCE hInstance, LPCTSTR lpTemplate, HWND hWndParent, DLGPROC lpDialogFunc); |
Параметры
hInstance
[in] Дескриптор, исполняемый файл которого содержит шаблон диалогового окна.lpTemplate
[in] Определяет шаблон диалогового окна. Этот параметр является или указателем на строку с символом конца строки ('\0'), которая определяет название шаблона блока диалога, или целочисленным значением, которое устанавливает идентификатор ресурса шаблона диалогового окна. Если параметр устанавливает идентификатор ресурса, его старшее слово должно быть нуль, а младшее слово должно содержать идентификатор. Чтобы создать это значение, Вы можете использовать макрокоманду MAKEINTRESOURCE.hWndParent
[in] Дескриптор окна, которое владеет диалоговым окном.lpDialogFunc
[in] Указатель на процедуру диалогового окна. Дополнительную информацию о процедуре диалогового окна, см. в описании DialogProc.Возвращаемое значение
Если функция завершается успешно, возвращаемое значение - дескриптор диалогового окна.
Если функция завершается ошибкой, возвращаемое значение -ПУСТО (NULL). Чтобы получить дополнительную информацию об ошибке, вызовите GetLastError.
Замечания
Функция CreateDialog использует для создания диалогового окна функцию CreateWindowEx. Затем CreateDialog передает сообщение WM_INITDIALOG (и сообщение WM_SETFONT, если шаблон определяет стиль DS_SETFONT или DS_SHELLFONT) в процедуру диалогового окна. Функция показывает блок диалога, если шаблон определяет стиль WS_VISIBLE. В заключение, CreateDialog возвращает дескриптор окна блока диалога.
После того как CreateDialog возвратит значение, прикладная программа показывает
на экране диалоговое окно (если оно еще не отображено) при помощи использования функции
ShowWindow. Прикладная программа разрушает диалоговое окно, используя функцию
DestroyWindow. Чтобы
поддерживать перемещение с помощью
клавиатуры и другие функциональные
возможности диалогового окна, цикл
обработки сообщений диалогового окна
должен вызвать функцию IsDialogMessage.
Windows 95/98/Me: Система может поддерживать максимум 255 органов управления в шаблоне диалогового окна. Чтобы разместить больше чем 255 элементов управления в диалоговом окне, создавайте органы управления в обработчике сообщения WM_INITDIALOG, а не помещайте их в шаблон.
Пример
Пример, см. в статье Создание немодального диалогового окна.
Смотри также
Обзор Диалоговые окна, Функции, используемые диалоговыми окнами, CreateDialogIndirect, CreateDialogIndirectParam, CreateDialogParam, CreateWindowEx, DestroyWindow, DialogBox, DialogProc, IsDialogMessage, ShowWindow, WM_INITDIALOG, WM_SETFONT
Размещение и совместимость CreateDialog |
|
Windows. NET Server |
Да |
Windows XP |
Да |
Windows 2000 |
Да |
Windows NT |
Да версии 3.1 и выше |
Windows Me |
Да |
Windows 98 |
Да |
Windows 95 |
Да |
Используемая библиотека |
User32.lib |
Заголовочный файл |
|
- объявлено в |
Winuser.h |
- включено в |
Windows.h |
Unicode |
Нет |
Замечания по платформе |
Не имеется |