Listes d'images de contrôle d'arborescence

Chaque élément d’un contrôle d’arborescence (CTreeCtrl) peut avoir une paire d’images bitmap associées. Les images apparaissent à gauche de l'étiquette d'un élément. Une image est affichée lorsque l'élément est sélectionné, et l'autre est affichée lorsque l'élément n'est pas sélectionné. Par exemple, un élément peut afficher un dossier ouvert lorsqu’il est sélectionné et un dossier fermé lorsqu’il ne l’est pas.

Pour utiliser des images d’élément, vous devez créer une liste d’images en construisant un objet CImageList et en utilisant la fonction CImageList ::Create pour créer la liste d’images associée. Ajoutez ensuite les bitmaps souhaitées à la liste et associez la liste au contrôle d’arborescence à l’aide de la fonction membre SetImageList . Par défaut, tous les éléments affichent la première image de la liste d'images pour les états sélectionnés et non sélectionnés. Vous pouvez modifier le comportement par défaut d’un élément particulier en spécifiant les index des images sélectionnées et non sélectionnées lors de l’ajout de l’élément au contrôle d’arborescence à l’aide de la fonction membre InsertItem . Vous pouvez modifier les index après avoir ajouté un élément à l’aide de la fonction membre SetItemImage .

Les listes d’images d’un contrôle d’arborescence peuvent également contenir des images de superposition, qui sont conçues pour être superposées sur des images d’élément. Une valeur autre que zéro en bits 8 à 11 de l'état d'un élément de contrôle d'arborescence spécifie l'index de base un d'une image de superposition (0 indique aucune image de superposition). Comme un index de base un de 4 bits est utilisé, les images de superposition doivent figurer parmi les 15 premières images des listes d'images. Pour plus d’informations sur les états d’élément de contrôle d’arborescence, consultez Vue d’ensemble des états des éléments de contrôle d’arborescence plus haut dans cette rubrique.

Si une liste d’images d’état est spécifiée, un contrôle d’arborescence réserve un espace à gauche de l’icône de chaque élément pour une image d’état. Une application peut utiliser des images d'état, telles que des cases à cocher activées et désactivées, pour indiquer des états d'élément définis par l'application. Une valeur autre que zéro en bits 12 à 15 spécifie l'index de base un d'une image d'état (0 indique aucune image d'état).

En spécifiant la valeur I_IMAGECALLBACK au lieu de l’index d’une image, vous pouvez retarder la spécification de l’image sélectionnée ou non sélectionnée jusqu’à ce que l’élément soit sur le point d’être redessiné. I_IMAGECALLBACK dirige le contrôle d’arborescence pour interroger l’application pour l’index en envoyant le message de notification TVN_GETDISPINFO.

La fonction membre GetImageList récupère le handle de la liste d’images d’un contrôle d’arborescence. Cette fonction est utile si vous devez ajouter d'autres images à la liste. Pour plus d’informations sur les listes d’images, consultez Utilisation de CImageList, CImageList dans la référence MFC et listes d’images dans le Kit de développement logiciel (SDK) Windows.

Voir aussi

Utilisation de CTreeCtrl
Contrôles