В стандартном шаблоне диалогового окна структура DLGTEMPLATE и каждая из структур DLGITEMTEMPLATE должны быть выровнены по DWORD . Массив данных, находящийся после структуры DLGITEMTEMPLATE , также должен быть выровнен по DWORD . Все остальные массивы переменной длины в шаблоне должны быть выровнены по WORD .
В расширенном шаблоне диалогового окна заголовок DLGTEMPLATEEX и каждое из определений элементов управления DLGITEMTEMPLATEEX должны быть выровнены по DWORD . Массив данных, находящийся после структуры DLGITEMTEMPLATE , также должен быть выровнен по DWORD . Все остальные массивы переменной длины в шаблоне должны быть выровнены по WORD .
Все строки символов в шаблоне диалогового окна, такие как заголовки для диалогового окна и кнопок, должны быть строками UnicodE. Для написания кода, который работает как в Windows NT, так и в Windows 95, используйте функцию MultiByteToWideChar для создания строк UnicodE.
Windows 95: Система поддерживает максимум 16384 дескрипторов окон.
См. также
CreateDialog, CreateDialogIndirectParam, CreateDialogParam, CreateWindowEx, DestroyWindow, DialogProc, DLGITEMTEMPLATE, DLGITEMTEMPLATEEX, DLGTEMPLATE, DLGTEMPLATEEX, MultiByteToWideChar, ShowWindow , WM_INITDIALOG, WM_SETFONT.
CreateDialogIndirectParam
Функция CreateDialogIndirectParam создает в памяти немодальное диалоговое окно из ресурса - шаблона диалогового окна. Перед отображением диалогового окна функция передает определяемое приложением значение в оконную процедуру диалогового окна в качестве параметра
HWND CreateDialogIndirectParam (
HINSTANCE
LPCDLGTEMPLATE
HWND
DLGPROC
LPARAM
);
Параметры
В стандартном шаблоне заголовок представляет собой структуру DLGTEMPLATE , за которой следуют массивы переменной длины. Данные для каждого из элементов управления состоят из структуры DLGITEMTEMPLATE , за которой следуют массивы переменной длины.
В расширенном шаблоне диалогового окна заголовок использует формат DLGTEMPLATEEX и определения элементов управления используют формат DLGITEMTEMPLATEEX .
Возвращаемые значения
В случае успеха возвращается дескриптор диалогового окна.
В случае неудачи возвращается NULL .
Комментарии
Функция CreateDialogIndirectParam использует функцию CreateWindowEx для создания диалогового окна. Затем CreateDialogIndirectParam отправляет сообщение WM _ INITDIALOG оконной процедуре диалогового окна. Если шаблон задает стиль DS _ SETFONT, функция также отправляет сообщение WM _ SETFONT оконной процедуре диалогового окна. Функция отображает диалоговое окно, в случае если шаблон задает стиль WS _ VISIBLE. В заключение, CreateDialogIndirectParam возвращает дескриптор диалогового окна.
После того, как функция CreateDialogIndirectParam вернет управление, приложение отображает диалоговое окно (если оно еще не отображено), используя функцию ShowWindow . Приложение разрушает диалоговое окно, используя функцию DestroyWindow .