Share via


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(
   hwndLV,
   i,
   data,
   mask
);

Parameter

hwndLV

Typ: HWND

Ein Handle für das Listenansichtssteuerelement.

i

Typ: int

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

data

Typ: UINT

Neue Zustandsbits für das Element. Der mask-Parameter gibt die gültigen Bits des Zustandsparameters an. Das Makro ignoriert Bits im Zustandsparameter , wenn das entsprechende Bit nicht im Maskenparameter festgelegt ist. Das Byte mit niedriger Reihenfolge enthält eine Reihe von Bitflags, die den Status des Elements angeben. Dieses Byte kann eine Kombination der folgenden Werte sein:

Wert Bedeutung
LVIS_CUT
Das Element wird für einen Ausschneiden- 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 Standard-Fokusrechteck 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 hat und auch von den Systemfarben, die für die Auswahl verwendet werden. Elemente werden nur als ausgewählt angezeigt, wenn das Listenansichtssteuerelement den Fokus hat oder die LVS_SHOWSELALWAYS Stil verwendet wird.

mask

Typ: UINT

Bits des Zustandsparameters , 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

Keine

Bemerkungen

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

Der Mask-Parameter gibt die Zustandsbits an, die Sie ändern möchten, und der Zustandsparameter gibt den neuen Wert für diese Bits an. Um ein Bit im internen Zustand des Elements festzulegen, legen Sie es sowohl in der Maske als auch im Zustandsparameter fest. Um ein Bit im internen Zustand des Elements zu löschen, legen Sie es im Maskenparameter fest, und löschen Sie es im Zustandsparameter . Damit ein Bit im internen Zustand des Elements unverändert bleibt, löschen Sie es im Maskenparameter .

Die Bits 8 bis 11 des Zustandsparameters geben den 1-basierten Index eines Überlagerungsbilds in den Bildlisten des Steuerelements an. Sowohl die Liste mit der vollständigen Symbolbildliste als auch die Kleine Symbolbildliste können Überlagerungsbilder enthalten. Das Überlagerungsbild wird dem Symbolbild des Elements überlagert. Wenn diese Bits 0 sind, hat das Element kein Überlagerungsbild. Um diese Bits zu isolieren, verwenden Sie die LVIS_OVERLAYMASK-Maske . Um einen Überlagerungsindex anzugeben, verwenden Sie das Makro INDEXTOOVERLAYMASK .

Die Bits 12 bis 15 des Zustandsparameters geben den 1-basierten Index eines Bilds in der Statusbildliste des Steuerelements an. Das Zustandsbild wird neben dem Symbol eines Elements angezeigt, um einen anwendungsdefinierten Zustand anzuzeigen. Wenn diese Bits 0 sind, verfügt das Element über kein Zustandsimage. Um diese Bits zu isolieren, verwenden Sie die LVIS_STATEIMAGEMASK-Maske . Um einen Zustandsbildindex anzugeben, verwenden Sie das Makro INDEXTOSTATEIMAGEMASK .

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile commctrl.h

Weitere Informationen

ListView_GetItemState