Структура 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маска указывает на атрибуты, которые нужно задать. Этот элемент может иметь одно или несколько из следующих значений:
Значение | Значение |
---|---|
|
Член cChildren является допустимым. |
|
Элемент управления представлением в виде дерева сохранит предоставленные сведения и больше не будет запрашивать их. Этот флаг действителен только при обработке уведомления TVN_GETDISPINFO . |
|
Член hItem является допустимым . |
|
Допустимый член iImage . |
|
Допустимый член lParam . |
|
Допустимый член iSelectedImage . |
|
Члены state и stateMask являются допустимыми. |
|
Члены 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
Флаг, указывающий, имеет ли элемент связанные дочерние элементы. Этот элемент может быть одним из следующих значений.
Значение | Значение |
---|---|
|
У элемента нет дочерних элементов. |
|
Элемент содержит один или несколько дочерних элементов. |
|
В родительском окне отслеживается, есть ли у элемента дочерние элементы. В этом случае, когда элемент управления в виде дерева должен отображать элемент, элемент управления отправляет родительскому элементу код уведомления TVN_GETDISPINFO , чтобы определить, есть ли у элемента дочерние элементы.
Если элемент управления в виде дерева имеет стиль TVS_HASBUTTONS , он использует этот элемент, чтобы определить, следует ли отображать кнопку, указывающую на наличие дочерних элементов. Этот элемент можно использовать для принудительного отображения кнопки в элементе управления, даже если в элементе нет вставленных дочерних элементов. Это позволяет отображать кнопку, минимизируя использование памяти элемента управления, вставляя дочерние элементы только в том случае, если элемент виден или развернут. |
|
Версия 6.0предназначена для внутреннего использования; не рекомендуется для использования в приложениях. Элемент управления представлением в виде дерева автоматически определяет, содержит ли элемент дочерние элементы.
Примечание Этот флаг может не поддерживаться в будущих версиях Comctl32.dll. Кроме того, этот флаг не определен в commctrl.h. Добавьте следующее определение в исходные файлы приложения, чтобы использовать флаг :
|
lParam
Тип: LPARAM
Значение, которое необходимо связать с элементом.
Комментарии
Примечание
Заголовок commctrl.h определяет TVITEM как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Верхняя часть | commctrl.h |