Структура DLGITEMTEMPLATE 


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

Синтаксис

typedef struct {
    DWORD  style;
    DWORD  dwExtendedStyle;
    short  x;
    short  y;
    short  cx;
    short  cy;
    WORD  id;
} DLGITEMTEMPLATE, *PDLGITEMTEMPLATE;

Члены структуры

style

Устанавливает стиль органа управления. Этот член структуры может быть комбинацией значений стиля окна (таких как WS_BORDER) и одним или несколькими значениями стиля органа управления (такими как BS_PUSHBUTTON и ES_LEFT).

dwExtendedStyle

Устанавливает расширенные стили для окна. Этот член структуры не используется для создания органов управления в диалоговых окнах, но приложения, которые используют шаблоны блока диалога могут использовать его, чтобы создавать другие типы окон.

x

Устанавливает x-координату левого верхнего угла органа управления, в единицах измерения диалогового окна. Эта координата - всегда относительно левого верхнего угла рабочей области блока диалога.

 y

Устанавливает y-координату левого верхнего угла органа управления, в единицах измерения диалогового окна. Эта координата - всегда относительно левого верхнего угла рабочей области блока диалога.

 cx

Устанавливает ширину органа управления, в единицах измерения диалогового окна.

cy

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

id

Устанавливает идентификатор органа управления.

Windows 95/98/Me: Используется только первый байт (то есть 255 - максимум).

Замечания

В стандартном шаблоне диалогового окна, структура DLGITEMTEMPLATE всегда непосредственно сопровождается тремя массивами переменной длины, которые определяют класс, заголовок и  данные для создания органа управления. Каждый массив состоит из одного или нескольких 16-разрядных элементов.

Каждая структура DLGITEMTEMPLATE в шаблоне должна выравниваться по границе двойного слова (DWORD). Массивы класса и  заголовка должны выравниваться по границам слова (WORD).  Массив данных создания должен выравниваться на границе слова (WORD).

За каждой структурой DLGITEMTEMPLATE непосредственно следует  массив класса, который определяет класс окна органа управления. Если первый элемент этого массива - какое-либо значение, а не  0xFFFF, система обрабатывает массив как строку Unicode с символом конца строки ('\0'), которая задает имя зарегистрированного класса окна. Если первый элемент равен 0xFFFF, массив имеет один  дополнительный элемент, который устанавливает порядковое значение предопределенного системного класса. Порядковый номер может быть одним из ниже перечисленных значений атома.

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

Следующий за массивом класса - массив заголовка, который содержит начальный текст или идентификатор ресурса органа управления. Если первый элемент этого массива - 0xFFFF, массив имеет один дополнительный элемент, который определяет порядковое значение ресурса, такое как  значок в исполняемом файле. Вы можете использовать идентификатор ресурса для органов управления, таких как статический элемент управления значком, который загружает и показывает на экране значок или другой ресурс, но не текст. Если первый элемент - любое значение, а не 0xFFFF, система обрабатывает массив как строку Unicode  с символом конца строки ('\0'), которая задает исходный текст.

Массив данных создания начинается со следующей границы слова (WORD) после массива заголовка. Эти данные создания могут иметь любой размер и формат. Если первое слово создающего массива данных не нуль, то оно указывает размер,  этих данных (включая слово размера), в байтах. Оконная процедура органа управления  должна быть в состоянии интерпретировать эти  данные. Когда система создает орган управления, она передает указатель на эти  данные в параметре lParam сообщения WM_CREATE, которое система отправляет в орган управления.

Если Вы устанавливаете строки символов в массивах класса и заголовка, Вы должны использовать символьные строки Unicode. Чтобы создать код, который работает и в Microsoft ® Windows ® 95/98/Me и в Windows NT / 2000/XP, используйте функцию MultiByteToWideChar, чтобы генерировать эти символьные строки Unicode.

Члены структуры x, y, cx, и  cy  задают значения в единицах измерения  диалогового окна. Вы можете преобразовать эти значения  в экранные единицы измерения (пиксели), используя функцию MapDialogRect.

Смотри также 

Обзор Диалоговые окнаСтруктуры, используемые диалоговыми окнамиCreateDialogIndirectCreateDialogIndirectParamCreateWindowExDialogBoxIndirectDialogBoxIndirectParamDLGITEMTEMPLATEEXDLGTEMPLATEDLGTEMPLATEEXMapDialogRect,  MultiByteToWideChar,  WM_CREATE

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

Windows. NET Server

Да

Windows XP

Да

Windows 2000

Да

Windows NT

Да версии 3.1 и выше

Windows Me

Да

Windows 98

Да

Windows 95

Да

Используемая библиотека

-

Заголовочный файл

 

- объявлено в

Winuser.h

- включено в

Windows.h

Unicode

Нет

Замечания по платформе

Не имеется

 

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz