ListView_SetItemState Makro (commctrl.h)

Ändert den Status eines Elements in einem Listenansicht-Steuerelement. Sie können dieses Makro verwenden oder die LVM_SETITEMSTATE Nachricht explizit senden.

Syntax

void ListView_SetItemState(
   HWND hwndLV,
   int  i,
   UINT data,
   UINT mask
);

Parameter

hwndLV

Typ: HWND-

Ein Handle für das Listenansicht-Steuerelement.

i

Typ: int

Der Index des Listenansichtselements. Wenn dieser Parameter -1 ist, wird die Zustandsänderung auf alle Elemente angewendet.

data

Typ: UINT-

Neue Statusbits für das Element. Der mask Parameter gibt die gültigen Bits der Daten Parameter an. Das Makro ignoriert Bits im Datenparameter Parameter, wenn das entsprechende Bit nicht im mask Parameter festgelegt ist. Das Byte mit niedriger Reihenfolge enthält eine Reihe von Bitkennzeichnungen, die den Status des Elements angeben. Dieses Byte kann eine Kombination aus den folgenden Werten sein:

Wert Bedeutung
LVIS_CUT
Das Element wird für einen Ausschneide- und Einfügevorgang markiert.
LVIS_DROPHILITED
Das Element wird als Drag-and-Drop-Ziel hervorgehoben.
LVIS_FOCUSED
Das Element hat den Fokus, sodass es von einem Standardfokusrechteck umgeben ist. Obwohl mehrere Elemente ausgewählt werden können, kann nur ein Element den Fokus haben.
LVIS_SELECTED
Das Element ist ausgewählt. Die Darstellung eines ausgewählten Elements hängt davon ab, ob es den Fokus und auch die für die Auswahl verwendeten Systemfarben hat. Elemente werden nur als ausgewählt angezeigt, wenn das Listenansicht-Steuerelement den Fokus hat oder die LVS_SHOWSELALWAYS Formatvorlage verwendet wird.

mask

Typ: UINT-

Bits der Daten Parameter, den Sie festlegen oder löschen möchten. Sie können ListView_SetItemState verwenden, um Bits festzulegen und zu löschen. Um den Überlagerungsbildindex eines Elements festzulegen, legen Sie die LVIS_OVERLAYMASK Bits fest. Um den Statusbildindex eines Elements festzulegen, legen Sie die LVIS_STATEIMAGEMASK Bits fest.

Rückgabewert

Nichts

Bemerkungen

Der Statuswert eines Elements enthält eine Reihe von Bitkennzeichnungen, die den Status des Elements angeben. Der Statuswert kann auch Bildlistenindizes enthalten, die das Statusbild und das Überlagerungsbild des Elements angeben.

Das Mask Parameter gibt die Zustandsbits an, die Sie ändern möchten, und der Daten Parameter gibt den neuen Wert für diese Bits an. Wenn Sie ein Bit im internen Zustand des Elements festlegen möchten, legen Sie es sowohl im format als auch im Parameter fest. Um ein bisschen im internen Zustand des Elements zu löschen, legen Sie es im Mask Parameter fest, und löschen Sie es im Datenparameter Parameter. Um im internen Zustand des Elements ein bisschen unverändert zu lassen, löschen Sie es im Mask Parameter.

Bits 8 bis 11 der Daten Parameter geben den 1-basierten Index eines Überlagerungsbilds in den Bildlisten des Steuerelements an. Sowohl die Symbolbildliste als auch die kleine Symbolbildliste können Überlagerungsbilder aufweisen. Das Überlagerungsbild wird über dem Symbolbild des Elements überlagert. Wenn diese Bits null sind, weist das Element kein Überlagerungsbild auf. Verwenden Sie die LVIS_OVERLAYMASK Maske, um diese Bits zu isolieren. Um einen Überlagerungsindex anzugeben, verwenden Sie das Makro INDEXTOOVERLAYMASK.

Bits 12 bis 15 der Daten Parameter geben den 1-basierten Index eines Bilds in der Statusbildliste des Steuerelements an. Das Statusbild wird neben dem Symbol eines Elements angezeigt, um einen anwendungsdefinierten Zustand anzugeben. Wenn diese Bits null sind, weist das Element kein Zustandsbild auf. Verwenden Sie die LVIS_STATEIMAGEMASK Maske, um diese Bits zu isolieren. Um einen Statusbildindex anzugeben, verwenden Sie das INDEXTOSTATEIMAGEMASK Makro.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows Vista [nur Desktop-Apps]
mindestens unterstützte Server- Windows Server 2003 [Nur Desktop-Apps]
Zielplattform- Fenster
Header- commctrl.h

Siehe auch

ListView_GetItemState