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


Функция CreateDialogParamA (winuser.h)

Создает немодное диалоговое окно на основе ресурса шаблона диалогового окна. Перед отображением диалогового окна функция передает определенное приложением значение в процедуру диалогового окна в качестве параметра lParamсообщения WM_INITDIALOG . Приложение может использовать это значение для инициализации элементов управления диалоговых окон.

Синтаксис

HWND CreateDialogParamA(
  [in, optional] HINSTANCE hInstance,
  [in]           LPCSTR    lpTemplateName,
  [in, optional] HWND      hWndParent,
  [in, optional] DLGPROC   lpDialogFunc,
  [in]           LPARAM    dwInitParam
);

Параметры

[in, optional] hInstance

Тип: HINSTANCE

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

[in] lpTemplateName

Тип: LPCTSTR

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

[in, optional] hWndParent

Тип: HWND

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

[in, optional] lpDialogFunc

Тип: DLGPROC

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

[in] dwInitParam

Тип: LPARAM

Значение, передаваемое процедуре диалогового окна в параметре lParam в сообщении WM_INITDIALOG .

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

Тип: HWND

Если функция выполняется успешно, возвращается значение дескриптора окна для диалогового окна.

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

Комментарии

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

После возврата CreateDialogParam приложение отображает диалоговое окно (если оно еще не отображается) с помощью функции ShowWindow . Приложение удаляет диалоговое окно с помощью функции DestroyWindow . Для поддержки навигации с помощью клавиатуры и других функций диалогового окна цикл сообщений для диалогового окна должен вызывать функцию IsDialogMessage .

Примечание

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

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header winuser.h (включая Windows.h)
Библиотека User32.lib
DLL User32.dll
Набор API ext-ms-win-ntuser-dialogbox-l1-1-0 (появилось в Windows 8)

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

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

CreateDialog

CreateDialogIndirect

CreateDialogIndirectParam

CreateWindowEx

Destroywindow

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

DialogProc

IsDialogMessage

MAKEINTRESOURCE

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

Showwindow

WM_INITDIALOG

WM_SETFONT