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


макрос ListView_SetItemState (commctrl.h)

Изменяет состояние элемента в элементе управления представлением списка. Вы можете использовать этот макрос или отправить сообщение LVM_SETITEMSTATE явным образом.

Синтаксис

void ListView_SetItemState(
   hwndLV,
   i,
   data,
   mask
);

Параметры

hwndLV

Тип: HWND

Дескриптор элемента управления list-view.

i

Тип: int

Индекс элемента представления списка. Если этот параметр имеет значение -1, изменение состояния применяется ко всем элементам.

data

Тип: UINT

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

Значение Значение
LVIS_CUT
Элемент помечен для операции выреза и вставки.
LVIS_DROPHILITED
Элемент выделен как целевой объект перетаскивания.
LVIS_FOCUSED
Элемент имеет фокус, поэтому он окружен стандартным прямоугольником фокуса. Хотя может быть выбрано несколько элементов, фокус может находиться только у одного элемента.
LVIS_SELECTED
Элемент выбран. Внешний вид выбранного элемента зависит от того, имеет ли он фокус, а также от системных цветов, используемых для выбора. Элементы будут отображаться как выбранные, только если элемент управления "Представление списка" имеет фокус или используется стиль LVS_SHOWSELALWAYS .

mask

Тип: UINT

Биты параметра состояния , который требуется задать или очистить. Вы можете использовать ListView_SetItemState как для задания, так и для очистки битов. Чтобы задать индекс изображения наложения элемента, задайте биты LVIS_OVERLAYMASK . Чтобы задать индекс изображения состояния элемента, задайте биты LVIS_STATEIMAGEMASK .

Возвращаемое значение

None

Remarks

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

Параметр mask указывает биты состояния, которые требуется изменить, а параметр state задает новое значение для этих битов. Чтобы задать бит во внутреннем состоянии элемента, задайте его в параметрах маски и состояния . Чтобы немного очистить внутреннее состояние элемента, задайте его в параметре mask и очистите в параметре state . Чтобы оставить немного без изменений во внутреннем состоянии элемента, очистите его в параметре mask .

Биты с 8 по 11 параметра state указывают одноуровневый индекс изображения наложения в списках изображений элемента управления. Как полноразмерный список изображений значков, так и маленький список значков могут содержать изображения наложения. Изображение наложения накладывается на изображение значка элемента. Если эти биты равны нулю, элемент не имеет изображения наложения. Чтобы изолировать эти биты, используйте маску LVIS_OVERLAYMASK . Чтобы указать индекс наложения, используйте макрос INDEXTOOVERLAYMASK .

Биты от 12 до 15 параметра state указывают одноуровневый индекс изображения в списке изображений состояния элемента управления. Изображение состояния отображается рядом со значком элемента для указания состояния, определяемого приложением. Если эти биты равны нулю, элемент не имеет изображения состояния. Чтобы изолировать эти биты, используйте маску LVIS_STATEIMAGEMASK . Чтобы указать индекс изображения состояния, используйте макрос INDEXTOSTATEIMAGEMASK .

Требования

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

См. также раздел

ListView_GetItemState