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


Структура TVITEMEXA (commctrl.h)

Задает или получает атрибуты элемента представления дерева. Эта структура является улучшением структуры TVITEM. Новые приложения должны использовать эту структуру при необходимости.

Синтаксис

typedef struct tagTVITEMEXA {
  UINT      mask;
  HTREEITEM hItem;
  UINT      state;
  UINT      stateMask;
  LPSTR     pszText;
  int       cchTextMax;
  int       iImage;
  int       iSelectedImage;
  int       cChildren;
  LPARAM    lParam;
  int       iIntegral;
  UINT      uStateEx;
  HWND      hwnd;
  int       iExpandedImage;
  int       iReserved;
} TVITEMEXA, *LPTVITEMEXA;

Члены

mask

Тип: UINT

Массив флагов, указывающих, какие из других элементов структуры содержат допустимые данные. Если эта структура используется с сообщением TVM_GETITEM, элемент маски указывает атрибуты элемента для извлечения. Если используется с сообщением TVM_SETITEM, маски указывает атрибуты, которые нужно задать. Этот элемент может быть одним или несколькими из следующих значений:

Ценность Значение
TVIF_CHILDREN
Допустимый член cChildren.
TVIF_DI_SETITEM
Элемент управления "Представление дерева" будет хранить предоставленные сведения и не запрашивать его снова. Этот флаг действителен только при обработке уведомления TVN_GETDISPINFO.
TVIF_EXPANDEDIMAGE

версии 6.00 и Windows Vista. допустимый элемент iExpandedImage.

TVIF_HANDLE
Допустимый элемент hItem.
TVIF_IMAGE
Допустимый элемент iImage.
TVIF_INTEGRAL
Допустимый элемент iIntegral.
TVIF_PARAM
Допустимый элемент lParam.
TVIF_SELECTEDIMAGE
Допустимый элемент iSelectedImage .
TVIF_STATE
Допустимы состояния и stateMask.
TVIF_STATEEX

версии 6.00 и Windows Vista. допустимый элемент uStateEx.

TVIF_TEXT
Допустимые элементы pszText и cchText Max.

hItem

Тип: HTREEITEM

Дескриптор элемента.

state

Тип: UINT

Набор битовых флагов и индексов списка изображений, указывающих состояние элемента. При задании состояния элемента элемент stateMask указывает допустимые биты этого элемента. При получении состояния элемента этот элемент возвращает текущее состояние для битов, указанных в элементе stateMask. Дополнительные сведения об этом члене см. в разделе "Замечания".

Биты от 0 до 7 этого элемента содержат флаги состояния элемента. Список возможных флагов состояния элемента см. в разделе Tree-View Состояния элементов управления.

Биты от 8 до 11 этого элемента указывают индекс одноуровневого наложения изображения. Изображение наложения наложено на изображение значка элемента. Если эти биты равны нулю, элемент не имеет изображения наложения. Чтобы изолировать эти биты, используйте маску TVIS_OVERLAYMASK. Чтобы задать индекс изображения наложения в этом элементе, используйте макрос INDEXTOOVERLAYMASK. Изображения списка изображений задаются с помощью функции ImageList_SetOverlayImage.

Изображение состояния отображается рядом с значком элемента, чтобы указать определенное приложением состояние. Укажите список образов состояния, отправив сообщение TVM_SETIMAGELIST. Чтобы задать изображение состояния элемента, добавьте значение TVIS_STATEIMAGEMASK в элемент StateMask stateMask элемента структуры TVITEM. Биты 12–15 состояния элемента структуры указывают индекс в списке изображений состояния, нарисуемого изображения.

Чтобы задать индекс образа состояния, используйте INDEXTOSTATEIMAGEMASK. Этот макрос принимает индекс и задает биты 12–15 соответствующим образом. Чтобы указать, что элемент не имеет образа состояния, задайте для индекса нулевое значение. Это соглашение означает, что изображение в списке образов состояния не может использоваться в качестве образа состояния. Чтобы изолировать биты от 12 до 15 элементов состояния, используйте маску TVIS_STATEIMAGEMASK.

stateMask

Тип: UINT

Биты допустимого элемента состояния . Если вы извлекаете состояние элемента, задайте биты элемента stateMask, чтобы указать биты, возвращаемые в элементе состояния. Если вы задаете состояние элемента, задайте биты элемента stateMask, чтобы указать биты состояния члена, который требуется задать. Чтобы задать или получить индекс изображения наложения элемента, задайте TVIS_OVERLAYMASK биты. Чтобы задать или получить индекс образа элемента, задайте TVIS_STATEIMAGEMASK биты.

pszText

Тип: LPTSTR

Указатель на строку, завершающуюся значением NULL, содержащую текст элемента, если структура указывает атрибуты элемента. Если этот элемент является значением LPSTR_TEXTCALLBACK, родительское окно отвечает за хранение имени. В этом случае элемент управления "Представление дерева" отправляет родительское окно TVN_GETDISPINFO код уведомления, если он нуждается в тексте элемента для отображения, сортировки или редактирования и TVN_SETDISPINFO кода уведомления при изменении текста элемента. Если структура получает атрибуты элемента, этот элемент является адресом буфера, который получает текст элемента. Обратите внимание, что хотя элемент управления "Представление дерева" позволяет хранить любую строку длины в виде текста элемента, отображаются только первые 260 символов.

cchTextMax

Тип: int

Размер буфера, на который указывает элемент pszText в символах. Если эта структура используется для задания атрибутов элементов, этот элемент игнорируется.

iImage

Тип: int

Индексируется в списке изображений элемента управления "Дерево" изображения значка, который будет использоваться, когда элемент находится в неизбираемом состоянии. Если этот элемент является значением I_IMAGECALLBACK, родительское окно отвечает за хранение индекса. В этом случае элемент управления "Представление дерева" отправляет родительский код уведомления TVN_GETDISPINFO, чтобы получить индекс, когда он должен отобразить изображение.

iSelectedImage

Тип: int

Индексируется в списке изображений элемента управления "Дерево" изображения значка, который будет использоваться, когда элемент находится в выбранном состоянии. Если этот элемент является значением I_IMAGECALLBACK, родительское окно отвечает за хранение индекса. В этом случае элемент управления "Представление дерева" отправляет родительский код уведомления TVN_GETDISPINFO, чтобы получить индекс, когда он должен отобразить изображение.

cChildren

Тип: int

Флаг, указывающий, связан ли элемент с дочерними элементами. Этот элемент может быть одним из следующих значений:

Ценность Значение
ноль
У элемента нет дочерних элементов.
один
Элемент содержит один или несколько дочерних элементов.
I_CHILDRENCALLBACK
Родительское окно отслеживает, имеет ли элемент дочерние элементы. В этом случае, когда элемент управления "Дерево" должен отображать элемент, элемент управления отправляет родительский код уведомления TVN_GETDISPINFO, чтобы определить, имеет ли элемент дочерние элементы. Если элемент управления "Представление дерева" имеет стиль TVS_HASBUTTONS, он использует этот элемент для определения того, следует ли отображать кнопку, указывающую на наличие дочерних элементов. Этот элемент можно использовать для принудительного отображения кнопки, даже если элемент не содержит вложенных дочерних элементов. Это позволяет отображать кнопку при минимизации использования памяти элемента управления, вставляя дочерние элементы, только если элемент отображается или развернут.
I_CHILDRENAUTO

версии 6.0предназначен для внутреннего использования; не рекомендуется использовать в приложениях. элемент управления "Дерево- представление" автоматически определяет, имеет ли элемент дочерние элементы.

примечание Этот флаг может не поддерживаться в будущих версиях Comctl32.dll. Кроме того, этот флаг не определен в commctrl.h. Добавьте следующее определение в исходные файлы приложения для использования флага:
#define I_CHILDRENAUTO (-2)
 

lParam

Тип: LPARAM

Значение для связывания с элементом.

iIntegral

Тип: int

Высота элемента в нескольких значениях стандартной высоты элемента (см. TVM_SETITEMHEIGHT). Например, при задании этого элемента значение 2 даст элементу в два раза больше стандартной высоты. Элемент управления "Представление дерева" не рисует дополнительную область, которая отображается под содержимым элемента, но это пространство может использоваться приложением для рисования при использовании пользовательского рисования. Приложения, не использующие настраиваемую рисование, должны иметь значение 1, так как в противном случае поведение не определено.

uStateEx

Тип: UINT

Internet Explorer 6 и более поздних версий. Одно или несколько (как побитовое сочетание) следующих расширенных состояний.

Ценность Значение
TVIS_EX_DISABLED
Windows Vista и более поздних версий. Создает элемент управления, нарисованный серым цветом, с которым пользователь не может взаимодействовать.
TVIS_EX_FLAT
Создает неструктурированный элемент— элемент является виртуальным и не отображается в дереве; Вместо этого дочерние элементы занимают свое место в иерархии дерева. Это состояние допустимо только при добавлении элемента в элемент управления "Представление дерева".
TVIS_EX_HWND
Создает отдельный HWND для элемента. Это состояние допустимо только при добавлении элемента в элемент управления "Представление дерева".

hwnd

Тип: HWND

Internet Explorer 6 и более поздних версий. Не используется; должен быть null.

iExpandedImage

Тип: int

Internet Explorer 6 и более поздних версий. Индекс изображения в списке изображений элемента управления для отображения, когда элемент находится в развернутом состоянии.

iReserved

Тип: int

Зарезервированный член. Не используйте.

Замечания

Заметка

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows Vista [только классические приложения]
минимальный поддерживаемый сервер Windows Server 2003 [только классические приложения]
заголовка commctrl.h

См. также

Добавление Tree-View элементов