Win32 API. Справочник по диалоговому окну
Страница 32. Псевдоструктура DLGITEMTEMPLATEEX


Псевдоструктура DLGITEMTEMPLATEEX

Структура DLGITEMTEMPLATEEX не определена в каком-либо стандартном заголовочном файле. Определение структуры предусмотрено здесь, чтобы объяснить формат расширенного шаблона для диалогового окна.

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

Синтаксис

//typedef struct {
//DWORD helpID;
//DWORD exStyle;
//DWORD style;
//short x;
//short y;
//short cx;
//short cy;
//WORD id;
//sz_Or_Ord windowClass; // название или порядковое числительное класса окна
//sz_Or_Ord title; // строка заголовка или порядковое числительное ресурса
//WORD extraCount; // байты, сопутствующие данным создания
//} DLGITEMTEMPLATEEX;

Члены структуры
helpID
Определяет идентификатор справочного контекста для органа управления. Когда система передает сообщение WM_HELP, она посылает значение helpID в член dwContextId структуры HELPINFO.
dwExtendedStyle
Определяет расширенные стили для окна. Этот элемент структуры не используется для создания органов управления в блоках диалога, но в прикладных программах, которые используют шаблоны диалогового окна, его можно использовать, чтобы создать другие типы окон.
style
Определяет стиль органа управления. Этот элемент структуры может быть комбинацией значений стиля окна (типа WS_BORDER) и одного или нескольких значений стиля органа управления (типа BS_PUSHBUTTON и ES_LEFT).
x
Определяет x-координату, в единицах измерения диалогового окна, левого верхнего угла элемента управления. Эта координата - всегда относительно левого верхнего угла рабочей области блока диалога.
y
Определяет y-координату, в единицах измерения диалогового окна, левого верхнего угла элемента управления. Эта координата - всегда относительно левого верхнего угла рабочей области блока диалога.
cx
Определяет ширину, в единицах измерения диалогового окна, органа управления.
cy
Определяет высоту, в единицах измерения диалогового окна, элемента управления.
id
Определяет идентификатор органа управления.
windowClass
Определяет массив переменной длины 16-разрядных элементов, который идентифицирует класс окна органа управления. Если первый элемент этого массива является каким-либо значением, отличающимся от 0xFFFF, система обрабатывает массив как строку Уникода с нулевым символом в конце, которая определяет название зарегистрированного класса окна.
Если первый элемент является 0xFFFF, массив имеет один дополнительный элемент, который определяет порядковое значение предопределенного системного класса. Порядковым числом может быть одно из следующих значений атома.

  • 0x0080 - Кнопка (Button)
  • 0x0081 - Редактируемое окно (Edit)
  • 0x0082 - Статическое окно (Static)
  • 0x0083 - Окно со списком (List box)
  • 0x0084 - Линейка прокрутки (Scroll bar)
  • 0x0085 - Комбинированное окно (Combo box)

title
Определяет массив переменной длины 16-разрядных элементов, который содержит начальный текст или идентификатор ресурса органа управления. Если первый элемент этого массива - 0xFFFF, массив имеет один дополнительный элемент, который определяет порядковое число, которое идентифицирует ресурс, типа пиктограммы, в исполняемом файле. Вы можете использовать идентификатор ресурса для органов управления, типа статических элементов управления пиктограммы, которые загружают и показывают пиктограмму или другой ресурс, а не текст.
Если первый элемент - какое-либо значение, отличающееся от 0xFFFF, система обрабатывает массив как строку Уникода с нулевым символом в конце, которая определяет начальный текст.
extraCount
Устанавливает число байтов данных создания, которые следуют за этим членом структуры. Если он имеет значение большее, чем нуль, данные создания начинаются со следующей границы ДВОЙНОГО СЛОВА (DWORD). Эти данные создания могут иметь любой размер и формат. Оконная процедура органа управления должна получить возможность, чтобы интерпретировать данные. Когда система создает орган управления, она передает указатель на эти данные в параметре lParam сообщения WM_CREATE, который передается элементу управления.

Замечания
Расширенный шаблон для диалогового окна состоит из заголовка DLGTEMPLATEEX, сопровождаемого структурой DLGITEMTEMPLATEEX для каждого органа управления в блоке диалога.
Каждая структура DLGITEMTEMPLATEEX должна быть выровнена по границе ДВОЙНОГО СЛОВА (DWORD). Массивы переменной длины windowClass и title должны быть выровнены по границам СЛОВА (WORD). Массив данных создания, если он имеется, должен быть выровнен по границе ДВОЙНОГО СЛОВА (DWORD).
Если Вы определяете в строки символов в массивах windowClass и title, Вы должны использовать строки Уникода. Чтобы создать код, который работает, и в Windows NT и в Windows 95, используйте функцию MultiByteToWideChar, чтобы генерировать эти строки Уникода.
Члены структуры x, y, cx и cy определяют значения в единицах измерения диалогового окна. Вы можете преобразовывать эти значения в экранные единицы измерения (пиксели), используя функцию MapDialogRect.

Смотри также
CreateDialogIndirect, CreateDialogIndirectParam, CreateWindowEx, DialogBoxIndirect, DialogBoxIndirectParam, DLGITEMTEMPLATE, DLGTEMPLATE, DLGTEMPLATEEX, MapDialogRect, MultiByteToWideChar

Размещение и совместимость DLGITEMTEMPLATEEX

Windows NTДа 
Win95Да
Win32sНет
Импортируемая библиотека-
Заголовочный файл-
UnicodeНет
Замечания по платформеНе имеется

 
« Предыдущая статья   Следующая статья »