À 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'image associée. La procédure suivante décrit les étapes nécessaires pour afficher une image dans une bande rebar.
Afficher des images dans une bande rebar
Attachez une liste des images à votre objet de contrôle rebar lors d'un appel à SetImageList, en passant un pointeur vers une liste des images existante.
Modifiez la structure de REBARBANDINFO pour affecter une image à une bande rebar :
Définissez le membre fMask sur RBBIM_IMAGE, en utilisant l'opérateur de bits OR pour inclure des balises supplémentaires comme nécessaire.
Définissez le membre iImage à l'index de liste des images de l'image à afficher.
Initialiser tous les membres de données restants, par exemple, la taille du texte, et le handle de la fenêtre enfant, avec les informations nécessaires.
Insérer une nouvelle bande (avec l'image) par un appel à CReBarCtrl::InsertBand, en passant la structure REBARBANDINFO .
Cet exemple suppose qu'un objet de liste d'images existant avec deux images a été attaché à l'objet de 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);