Partager via


Utilisation des listes d'images dans un contrôle de barre d'outils

Par défaut, les images utilisées par les boutons dans un contrôle de la barre d'outils sont stockées sous forme de bitmap unique. Toutefois, vous pouvez également enregistrer les images des boutons dans un ensemble de listes d'image. L'objet de contrôle de la barre d'outils peut utiliser jusqu'à trois listes d'images distinctes :

  • La liste des images active contient des images des boutons de la barre d'outils qui sont actuellement activées.

  • La liste des images inactive contient des images des boutons de la barre d'outils qui sont actuellement désactivées.

  • La liste des images en surbrillance contient des images des boutons de la barre d'outils qui sont actuellement mises en surbrillance. Cette liste des images est utilisée uniquement lorsque la barre d'outils utilise le style TBSTYLE_FLAT.

Ces listes d'images sont utilisées par le contrôle de la barre d'outils lorsque vous les associez à l'objet CToolBarCtrl. Cette association est effectuée en effectuant des appels à CToolBarCtrl::SetImageList, à SetDisabledImageList, et SetHotImageList.

Par défaut, MFC utilise la classe CToolBar pour implémenter des barres d'outils d'application MFC. Toutefois, la fonction membre GetToolBarCtrl peut être utilisée pour récupérer l'objet incorporé CToolBarCtrl. Vous pouvez ensuite faire des appels aux fonctions membres CToolBarCtrl utilisant l'objet retourné.

L'exemple suivant illustre cette technique en affectant une liste des images active (m_ToolBarImages) ou désactives (m_ToolBarDisabledImages)à un objet de CToolBarCtrl (m_ToolBarCtrl).

CWinApp* pApp= AfxGetApp();

m_ToolBarImages.Create(16, 16, ILC_COLOR, 4, 4);
m_ToolBarImages.Add(pApp->LoadIcon(IDI_BLK));
m_ToolBarImages.Add(pApp->LoadIcon(IDI_RED));
m_ToolBarImages.Add(pApp->LoadIcon(IDI_YELL));
m_ToolBarImages.Add(pApp->LoadIcon(IDI_WHI));

m_ToolBarDisabledImages.Create(16, 16, ILC_COLOR, 4, 4);
m_ToolBarDisabledImages.Add(pApp->LoadIcon(IDI_DIS_BLK));
m_ToolBarDisabledImages.Add(pApp->LoadIcon(IDI_DIS_RED));
m_ToolBarDisabledImages.Add(pApp->LoadIcon(IDI_DIS_YELL));
m_ToolBarDisabledImages.Add(pApp->LoadIcon(IDI_DIS_WHI));

m_ToolBarCtrl.SetImageList(&m_ToolBarImages);
m_ToolBarCtrl.SetDisabledImageList(&m_ToolBarDisabledImages);

Notes

Les listes d'images utilisées par l'objet barre d'outils doivent être des objets permanents.Par conséquent, elles sont généralement des membres de données d'une classe de MFC ; dans cet exemple, la classe cadre de fenêtre principale.

Une fois que les listes d'images sont associées à l'objet CToolBarCtrl, l'environnement affiche automatiquement l'image de bouton appropriée.

Voir aussi

Référence

À l'aide de CToolBarCtrl

Concepts

contrôles (MFC)