Структура LVITEMA (commctrl.h)
Задает или получает атрибуты элемента представления списка. Эта структура была обновлена для поддержки нового значения маски (LVIF_INDENT), которое включает отступ элементов. Эта структура заменяет структуру LV_ITEM.
Синтаксис
typedef struct tagLVITEMA {
UINT mask;
int iItem;
int iSubItem;
UINT state;
UINT stateMask;
LPSTR pszText;
int cchTextMax;
int iImage;
LPARAM lParam;
int iIndent;
int iGroupId;
UINT cColumns;
PUINT puColumns;
int *piColFmt;
int iGroup;
} LVITEMA, *LPLVITEMA;
Члены
mask
Тип: UINT
Набор флагов, указывающих, какие элементы этой структуры содержат данные, которые нужно задать или какие элементы запрашиваются. Этот элемент может иметь один или несколько следующих флагов:
Ценность | Значение |
---|---|
|
Windows Vista и более поздние версии. Элемент |
|
Элемент cColumns является допустимым или должен быть задан. |
|
Операционная система должна хранить запрошенные сведения о элементе списка и не запрашивать его снова. Этот флаг используется только с кодом уведомления LVN_GETDISPINFO. |
|
Элемент iGroupId является допустимым или должен быть задан. Если этот флаг не задан при отправке сообщения LVM_INSERTITEM, предполагается, что значение iGroupId будет I_GROUPIDCALLBACK. |
|
Элемент iImage является допустимым или должен быть задан. |
|
элемент iIndent является допустимым или должен быть задан. |
|
Элемент управления не создаст LVN_GETDISPINFO для получения текстовых сведений, если он получает LVM_GETITEM сообщение. Вместо этого элемент pszText будет содержать LPSTR_TEXTCALLBACK. |
|
lParam является допустимым или должен быть задан. |
|
Элемент состояния |
|
Элемент pszText является допустимым или должен быть задан. |
iItem
Тип: int
Отсчитываемый от нуля индекс элемента, к которому относится эта структура.
iSubItem
Тип: int
Одноуровневый индекс подсети, к которому относится эта структура, или ноль, если эта структура ссылается на элемент, а не подсеть.
state
Тип: UINT
Указывает состояние элемента, изображение состояния и наложение изображения. Элемент stateMask указывает допустимые биты этого элемента.
Биты от 0 до 7 этого элемента содержат флаги состояния элемента. Это может быть одно или несколько значений состояния элемента .
Биты от 8 до 11 этого элемента указывают индекс одноуровневого наложения изображения. Как полный список изображений значков, так и список небольших значков могут содержать изображения наложения. Изображение наложения наложено на изображение значка элемента. Если эти биты равны нулю, элемент не имеет изображения наложения. Чтобы изолировать эти биты, используйте маску LVIS_OVERLAYMASK. Чтобы задать индекс изображения наложения в этом элементе, следует использовать макрос INDEXTOOVERLAYMASK. Изображения списка изображений задаются с помощью функции ImageList_SetOverlayImage.
Биты от 12 до 15 этого члена указывают индекс образа состояния. Изображение состояния отображается рядом со значком элемента, чтобы указать определенное приложением состояние. Если эти биты равны нулю, элемент не имеет образа состояния. Чтобы изолировать эти биты, используйте маску LVIS_STATEIMAGEMASK. Чтобы задать индекс изображения состояния, используйте макрос INDEXTOSTATEIMAGEMASK. Индекс изображения состояния указывает индекс изображения в списке изображений состояния, который должен быть нарисован. Список образов состояния указывается с сообщением LVM_SETIMAGELIST.
stateMask
Тип: UINT
Значение, указывающее, какие биты состояния член будут извлечены или изменены. Например, установка этого элемента на LVIS_SELECTED приведет к извлечению только состояния выбора элемента.
Этот элемент позволяет изменять одно или несколько состояний элемента, не получая сначала все состояния элемента. Например, установка этого элемента на LVIS_SELECTED и состояние равно нулю приведет к очистке состояния выбора элемента, но ни одно из других состояний не будет затронуты.
Чтобы получить или изменить все состояния, задайте для этого элемента значение (UINT)-1.
Макрос можно использовать ListView_SetItemState как для задания, так и для очистки битов.
pszText
Тип: LPTSTR
Если структура указывает атрибуты элемента, pszText является указателем на строку, завершающую значение NULL, содержащую текст элемента. При реагировании на уведомление LVN_GETDISPINFO убедитесь, что этот указатель остается действительным до момента получения следующего уведомления.
Если структура получает атрибуты элемента, pszText является указателем на буфер, который получает текст элемента. Обратите внимание, что хотя элемент управления представлением списка позволяет хранить любую строку длины в виде текста элемента, отображаются только первые 259 TCHAR.
Если значение pszText LPSTR_TEXTCALLBACK, элемент является элементом обратного вызова. Если текст обратного вызова изменяется, необходимо явно задать pszText LPSTR_TEXTCALLBACK и уведомить элемент управления представлением списка об изменении, отправив LVM_SETITEM или сообщение LVM_SETITEMTEXT.
Не устанавливайте pszText LPSTR_TEXTCALLBACK, если элемент управления представлением списка имеет стиль LVS_SORTASCENDING или LVS_SORTDESCENDING.
cchTextMax
Тип: int
Число
Этот элемент используется только в том случае, если структура получает атрибуты элемента. При указании атрибутов элемента структура игнорируется. Например, cchTextMax
iImage
Тип: int
Индекс значка элемента в списке изображений элемента. Это относится как к большому, так и к небольшому списку изображений. Если этот элемент является значением I_IMAGECALLBACK, родительское окно отвечает за хранение индекса. В этом случае элемент управления представлением списка отправляет родительский код уведомления LVN_GETDISPINFO, чтобы получить индекс, когда он должен отобразить изображение.
lParam
Тип: LPARAM
Значение, относящееся к элементу. Если вы используете сообщение LVM_SORTITEMS, элемент управления представлением списка передает это значение в определяемую приложением функцию сравнения. Можно также использовать сообщение LVM_FINDITEM для поиска элемента управления представлением списка для элемента с указанным значением lParam.
iIndent
Тип: int
версии 4.70. Число ширин изображения для отступа элемента. Одно отступ равно ширине изображения элемента. Таким образом, значение 1 отступов отступов по ширине одного изображения, значения 2 отступа двумя изображениями и т. д. Обратите внимание, что это поле поддерживается только для элементов. Попытка задать отступ подсети приведет к сбою вызывающей функции.
iGroupId
Тип: int
версии 6.0 идентификатор группы, к которой принадлежит элемент, или одно из следующих значений.
Ценность | Значение |
---|---|
|
Элемент управления listview отправляет родительский код уведомления LVN_GETDISPINFO для получения индекса группы. |
|
Элемент не принадлежит группе. |
cColumns
Тип: UINT
версии 6.0 число столбцов данных (подсемей), отображаемых для этого элемента в представлении плитки. Максимальное значение — 20. Если это значение I_COLUMNSCALLBACK, размер массива столбцов и самого массива (puColumns) получаются путем отправки уведомления LVN_GETDISPINFO.
puColumns
Тип: PUINT
версии 6.0 Указатель на массив индексов столбцов, указывающий, какие столбцы отображаются для этого элемента, а также порядок этих столбцов.
piColFmt
Тип: int*
Windows Vista: Не реализовано. Windows 7 и более поздних версий: указатель на массив следующих флагов (отдельно или в сочетании), указывающий формат каждого дочернего элемента в расширенном представлении плиток.
iGroup
Тип: int
Windows Vista: групповый индекс элемента. Допустимо только для данных владельца или обратного вызова (один элемент в нескольких группах).
Замечания
Структура LVITEM
В представлении плитки имя элемента отображается справа от значка. Можно указать дополнительные вложенные элементы (соответствующие столбцам в представлении сведений), которые будут отображаться в строках под именем элемента. Массив puColumns содержит индексы дочерних объектов, отображаемых. Индексы должны быть больше 0, так как подсеть 0, имя элемента уже отображается. Сведения о столбцах также можно задать в структуре LVTILEINFO при изменении элемента списка.
Пример кода см. в разделе Using List-View Controls.
Заметка
Заголовок commctrl.h определяет LVITEM как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows Vista [только классические приложения] |
минимальный поддерживаемый сервер | Windows Server 2003 [только классические приложения] |
заголовка | commctrl.h |