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 |
---|---|
|
Das Element wird für einen Ausschneiden- und Einfügevorgang markiert. |
|
Das Element wird als Drag-and-Drop-Ziel hervorgehoben. |
|
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. |
|
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
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für