À l'aide d'une liste d'images avec un contrôle rebar
Chaque bande rebar peut contenir, entre autres, une image d'une liste d'images associée.La procédure suivante détaille les étapes nécessaires pour afficher une image dans une bande rebar.
Pour afficher des images dans une bande rebar
Attachez une liste d'images à votre objet contrôle rebar en appelant à SetImageList, en passant un pointeur vers une liste d'images existante.
Modifiez la structure de REBARBANDINFO pour assigner une image à une bande rebar :
Définissez le membre de fMask à RBBIM_IMAGE, à l'aide de l'opérateur de bits OR pour inclure des balises supplémentaires selon vos besoins.
Définissez le membre d' iImage à l'index de liste d'images de l'image à afficher.
Initialisez toutes les données membres restantes, telles que la taille, le texte, et le handle de la fenêtre enfant contenue, avec les informations nécessaires.
Insérez la nouvelle bande (avec l'image) avec un appel à CReBarCtrl::InsertBand, en passant la structure de REBARBANDINFO .
L'exemple suivant suppose qu'un objet liste d'images existant avec deux images a été attaché à l'objet contrôle rebar (m_wndReBar).Une nouvelle bande rebar (définie par rbi), contenant la première image, est ajoutée par un appel à InsertBand:
REBARBANDINFO rbi = {0};
rbi.cbSize = sizeof(REBARBANDINFO);
rbi.fMask = RBBIM_BACKGROUND | RBBIM_CHILD | RBBIM_IMAGE |
RBBIM_CHILDSIZE | RBBIM_STYLE | RBBIM_TEXT;
rbi.fStyle = RBBS_GRIPPERALWAYS;
rbi.cxMinChild = 200;
rbi.cyMinChild = 50;
rbi.lpText = _T("Band #2");
rbi.cch = 7;
rbi.cx = 300;
rbi.hbmBack = (HBITMAP)m_RebarBitmap;
rbi.iImage = 0;
rbi.hwndChild = (HWND)m_Toolbar2;
m_Rebar.GetReBarCtrl().InsertBand(1, &rbi);