Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Il existe souvent une confusion quant à la définition et à la récupération de l’index d’image d’état dans un contrôle d’arborescence. Les exemples suivants illustrent la méthode appropriée pour définir et récupérer l’index d’image d’état. Les exemples supposent qu’il n’existe que deux index d’image d’état dans le contrôle tree-view, décochés et activés. Si votre application contient plus de deux, ces fonctions doivent être modifiées pour gérer ce cas.
Ce que vous devez savoir
Technologies
Conditions préalables
- C/C++
- Programmation de l’interface utilisateur Windows
Les instructions
Définir l’état de vérification d’un élément Tree-View
L’exemple suivant montre comment définir l’état de vérification d’un élément d’arborescence.
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);
}
Récupérer l’état de vérification d’un élément Tree-View
L’exemple suivant montre comment récupérer l’état de vérification d’un élément d’arborescence.
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);
}