Usando uma lista de imagens com um controle rebar
Cada a faixa de rebar pode conter, entre outros coisas, uma imagem de uma lista de imagem associado. O procedimento a seguir detalha as etapas necessárias para exibir uma imagem em uma faixa de rebar.
Para exibir imagens em uma faixa de rebar
Anexar uma lista de imagem em seu objeto de controle de rebar fazendo uma chamada a SetImageList, passando um ponteiro para uma lista existente da imagem.
Modificar a estrutura de REBARBANDINFO para atribuir uma imagem para uma faixa de rebar:
Definir o membro de fMask a RBBIM_IMAGE, usando o operador OR bit a bit para incluir conforme necessário sinalizadores extras.
Definir o membro de iImage ao índice da lista da imagem da imagem a ser exibida.
Inicializar todos os membros de dados restantes, como tamanho, o texto, e o identificador da janela filho contida, as informações necessárias.
Inserir a nova faixa (com a imagem) com uma chamada a CReBarCtrl::InsertBand, passando a estrutura de REBARBANDINFO .
O exemplo a seguir supõe que um objeto existente na lista de imagem com duas imagens esteve anexado ao objeto de controle de rebar (m_wndReBar). Uma nova faixa de rebar (definida por rbi), contendo a primeira imagem, é adicionada com uma chamada a 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);