Arbeiten mit Zustandsbildindizes
Es gibt häufig Verwirrung darüber, wie der Zustandsbildindex in einem Strukturansichtssteuerelement festgelegt und abgerufen werden kann. Die folgenden Beispiele veranschaulichen die richtige Methode zum Festlegen und Abrufen des Zustandsbildindexes. In den Beispielen wird davon ausgegangen, dass im Strukturansichtssteuerelement nur zwei Zustandsbildindizes vorhanden sind, die deaktiviert und aktiviert sind. Wenn Ihre Anwendung mehr als zwei enthält, müssen diese Funktionen geändert werden, um diesen Fall zu behandeln.
Wichtige Informationen
Technologien
Voraussetzungen
- C/C++
- Programmierung der Windows-Benutzeroberfläche
Anweisungen
Festlegen des Überprüfungsstatus eines Tree-View Elements
Im folgenden Beispiel wird veranschaulicht, wie der Überprüfungsstatus eines Baumansichtselements festgelegt wird.
BOOL TreeView_SetCheckState(HWND hwndTreeView, HTREEITEM hItem, BOOL fCheck)
{
TVITEM tvItem;
tvItem.mask = TVIF_HANDLE | TVIF_STATE;
tvItem.hItem = hItem;
tvItem.stateMask = TVIS_STATEIMAGEMASK;
// Image 1 in the tree-view check box image list is the unchecked box.
// Image 2 is the checked box.
tvItem.state = INDEXTOSTATEIMAGEMASK((fCheck ? 2 : 1));
return TreeView_SetItem(hwndTreeView, &tvItem);
}
Abrufen des Überprüfungsstatus eines Tree-View Elements
Im folgenden Beispiel wird veranschaulicht, wie der Überprüfungsstatus eines Baumansichtselements abgerufen wird.
BOOL TreeView_GetCheckState(HWND hwndTreeView, HTREEITEM hItem)
{
TVITEM tvItem;
// Prepare to receive the desired information.
tvItem.mask = TVIF_HANDLE | TVIF_STATE;
tvItem.hItem = hItem;
tvItem.stateMask = TVIS_STATEIMAGEMASK;
// Request the information.
TreeView_GetItem(hwndTreeView, &tvItem);
// Return zero if it's not checked, or nonzero otherwise.
return ((BOOL)(tvItem.state >> 12) - 1);
}
Zugehörige Themen