Utilisation de listes d'images dans un contrôle de zone de liste déroulante étendue
La principale fonctionnalité des contrôles de zone de liste modifiable étendue est la possibilité d’associer des images d’une liste d’images à des éléments individuels dans un contrôle de zone de liste modifiable. Chaque élément peut afficher trois images différentes : une pour son état sélectionné, une pour son état non sélectionné et un troisième pour une image de superposition.
La procédure suivante associe une liste d’images à un contrôle de zone de liste modifiable étendue :
Pour associer une liste d’images à un contrôle de zone de liste modifiable étendue
Créez une nouvelle liste d’images (ou utilisez un objet de liste d’images existant), en utilisant le constructeur CImageList et en stockant le pointeur résultant.
Initialisez le nouvel objet de liste d’images en appelant CImageList ::Create. Le code suivant est un exemple de cet appel.
m_ComboImageList.Create(16, 16, ILC_COLOR, 2, 2);
Ajoutez des images facultatives pour chaque état possible : sélectionné ou non sélectionné et une superposition. Le code suivant ajoute trois images prédéfinies.
m_ComboImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON1)); m_ComboImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON2)); m_ComboImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON3));
Associez la liste d’images au contrôle à un appel à CComboBoxEx ::SetImageList.
Une fois que la liste d’images a été associée au contrôle, vous pouvez spécifier individuellement les images que chaque élément utilisera pour les trois états possibles. Pour plus d’informations, consultez Définition des images d’un élément individuel.