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


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

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

Синтаксис

typedef struct tagTVITEMA {
  UINT      mask;
  HTREEITEM hItem;
  UINT      state;
  UINT      stateMask;
  LPSTR     pszText;
  int       cchTextMax;
  int       iImage;
  int       iSelectedImage;
  int       cChildren;
  LPARAM    lParam;
} TVITEMA, *LPTVITEMA;

Члены

mask

Тип: UINT

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

Значение Значение
TVIF_CHILDREN
Член cChildren является допустимым.
TVIF_DI_SETITEM
Элемент управления представлением в виде дерева сохранит предоставленные сведения и больше не будет запрашивать их. Этот флаг действителен только при обработке уведомления TVN_GETDISPINFO .
TVIF_HANDLE
Член hItem является допустимым .
TVIF_IMAGE
Допустимый член iImage .
TVIF_PARAM
Допустимый член lParam .
TVIF_SELECTEDIMAGE
Допустимый член iSelectedImage .
TVIF_STATE
Члены state и stateMask являются допустимыми.
TVIF_TEXT
Члены pszText и cchTextMax допустимы.

hItem

Тип: HTREEITEM

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

state

Тип: UINT

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

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

 

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

 

Изображение состояния отображается рядом со значком элемента, чтобы указать состояние, определяемое приложением. Укажите список изображений состояния, отправив сообщение TVM_SETIMAGELIST . Чтобы задать изображение состояния элемента, включите значение TVIS_STATEIMAGEMASK в элемент 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

Значение, которое необходимо связать с элементом.

Комментарии

Примечание

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

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Верхняя часть commctrl.h