DLGTEMPLATEEX структура не определен в любой стандартный файл заголовка. Определение структуры приводится здесь объяснить формат расширенного шаблона для диалогового окна.
Шаблон окна расширенный диалог начинается с заголовком DLGTEMPLATEEX , описывает диалогового окна и указывает количество элементов управления в диалоговом окне. Для каждого элемента управления в диалоговом окне шаблон поля расширенного диалогового окна есть блок данных, которые использует DLGITEMTEMPLATEEX формат для описания элемента управления.
typedef struct {слово dlgVer; СЛОВО подписи; DWORD helpID; DWORD exStyle; DWORD стиль; СЛОВО cDlgItems; короткие x; короткие y; короткие cx; короткие cy; sz_Or_Ord меню; / / имя или порядковый номер из меню sz_Or_Ord windowClass; / / имя или порядковый номер класса окна Название WCHAR [titleLen]; / / название строка диалогового окна короткие pointsize; / / Если установлен флаг DS_SETFONT короткие вес; / / Если установлен флаг DS_SETFONT короткие bItalic; / / Если установлен флаг DS_SETFONT Шрифт WCHAR [fontLen]; / / имя шрифта, если DS_SETFONT имеет значение } DLGTEMPLATEEX
| Значение | Значение |
|---|---|
| DS_3DLOOK | Дает диалогового окна nonbold шрифта и рисует трехмерной границы вокруг элемента управления windows в диалоговом окне. Стиль DS_3DLOOK требует только Win32-приложений на основе собранных для версий системы раньше, чем Windows 95 или Windows NT 4.0. Система автоматически применяет Трёхмерный взгляд на диалоговые окна, создаваемые приложениями, скомпилированные для текущих версий системы. |
| DS_ABSALIGN | Указывает, что координаты диалогового окна являются экранных координат. Если этот стиль не задан, система рассматривает их как клиентские координаты. |
| DS_CENTER | Центрирует диалогового окна в рабочей области; то есть, площадь, не закрывались в лоток. |
| DS_CENTERMOUSE | Центрирует курсор мыши в диалоговом окне. |
| DS_CONTEXTHELP | Включает вопросительный знак в строке заголовка диалогового окна. Когда пользователь щелкает знак вопроса, курсор изменения в знак вопроса с указателем. Если пользователь нажимает элемент управления в диалоговом окне, элемент управления получает сообщение WM_HELP. Элемент управления должен передать сообщение диалогового окна процедуры, которая должна вызвать WinHelp функция, с помощью команды HELP_WM_HELP. Помощи приложение отображает всплывающее окно, которое обычно содержит справку для элемента управления. Обратите внимание, что DS_CONTEXTHELP является только местозаполнителем. При создании диалогового окна, система проверяет DS_CONTEXTHELP и, если это там, добавляет WS_EX_CONTEXTHELP расширенный стиль диалогового окна. Нельзя использовать стиль WS_EX_CONTEXTHELP с WS_MAXIMIZEBOX или WS_MINIMIZEBOX стилей. |
| DS_CONTROL | Создает диалоговое окно, которое работает хорошо, как дочернее окно другого диалогового окна, так же, как на страницу в лист свойств. Этот стиль позволяет пользователю вкладку среди управления windows диалогового окна ребенок, использовать сочетания клавиш и так далее. |
| DS_FIXEDSYS | Вызывает диалоговое окно "" использовать SYSTEM_FIXED_FONT вместо того, чтобы по умолчанию SYSTEM_FONT. SYSTEM_FIXED_FONT — моноширинный шрифт, совместимы с системным шрифтом в версиях Windows, предшествующих 3.0. |
| DS_LOCALEDIT | Применяется для 16-разрядных приложений. Этот стиль направляет элементов управления в диалоговом окне выделить память из сегмента данных приложения. В противном случае, редактировать элементы управления выделить память из глобальной памяти объекта. |
| DS_MODALFRAME | Создает диалоговое окно с модальное диалоговое рамкой, которая может комбинироваться с заголовка и меню системы, указывая стили WS_CAPTION и WS_SYSMENU. |
| DS_NOFAILCREATE | Windows 95: Создает поле, даже если возникают ошибки — например, если дочернее окно не может быть создан, или если система не может создать сегмент специальных данных элемента управления редактирования. |
| DS_NOIDLEMSG | Подавляет сообщения WM_ENTERIDLE система бы в противном случае отправить владельцу диалогового окна, в то время как диалоговое окно. |
| DS_SETFONT | Указывает, что DLGTEMPLATEEX заголовок шаблона окна расширенного диалогового окна содержит четыре дополнительных членов (pointsize, вес, bItalicи Шрифт), которые описывают шрифта для текста в клиентской области и элементы управления диалогового окна. Если это возможно система создает объект font для значения, указанные в этих членов. Затем система передает дескриптор шрифта диалогового окна и каждый элемент управления, отправив им сообщения WM_SETFONT. Если этот стиль не указан, расширенного диалогового окна поле шаблон не содержит членов pointsize, вес, bItalicи шрифта. |
| DS_SETFOREGROUND | Заставляет систему использовать функцию SetForegroundWindow для приведения диалогового окна на передний план. |
| DS_SYSMODAL | Этот стиль является устаревшим и поддерживается для обеспечения совместимости с более ранними версиями Windows. Если задан этот стиль, система создает диалогового окна с WS_EX_TOPMOST стилем. Не смешивайте этот стиль в DS_CONTROL стиле. |
Шаблон поля расширенного диалогового окна можно использовать вместо стандартного диалогового окна поле шаблон в функции CreateDialogIndirectParam и DialogBoxIndirectParam и CreateDialogIndirect и DialogBoxIndirect макросов. Шаблон box стандартный диалог использует DLGTEMPLATE и DLGITEMTEMPLATE структуры.
После DLGTEMPLATEEX заголовков в шаблоне расширенного диалогового окна — один или несколько структур DLGITEMTEMPLATEEX , которые описывают элементы управления диалогового окна. CDlgItems указывает количество DLGITEMTEMPLATEEX структур в шаблоне.
Каждая структура DLGITEMTEMPLATEEX в шаблоне должны быть выровнены по границе DWORD . Если член стиль определяет стиль DS_SETFONT, первая структура DLGITEMTEMPLATEEX начинается на первом DWORD границы после строки шрифта . Если DS_SETFONT не указан, первая структура начинается на первом DWORD границы после строки заголовка.
Меню, windowClass, названиеи шрифта массивы должны быть выровнены по границам слов.
Если указать символьные строки в меню, windowClass, названиеи массивы шрифта , необходимо использовать строки Юникода. Для создания кода, который работает на Windows и Windows NT, используйте функцию MultiByteToWideChar для создания этих строк Юникода.
X, y, cxи cy членов указать значения в единицах диалогового окна поле. Эти значения можно преобразовать в экране единицы (пикселей), используя функцию MapDialogRect.
nbsp; Windows &NT: требует 3.51 или более поздней версии.
Windows:Требует Windows 95 или более поздней версии.
Windows CE:Не поддерживается.
Обзор диалогового окна, диалоговое окно окно структуры, CreateDialogIndirect, CreateDialogIndirectParam, DialogBoxIndirect, DialogBoxIndirectParam, DLGITEMTEMPLATE, DLGITEMTEMPLATEEX, DLGTEMPLATE, MapDialogRect, MultiByteToWideChar, WM_SETFONT