Controles de rebar e faixas
A principal finalidade de um controle rebar é atuar sistema autônomo um contêiner para janelas filho, controles de caixa de diálogo comuns, menus, barras de ferramentas e assim por diante.Essa contenção é compatível com o conceito de "banda". Cada banda rebar pode conter qualquer combinação de uma BAR dupla, um bitmap, um rótulo de texto e uma janela filho.
De classeCReBarCtrl tem muitas funções de membro que você pode usar para recuperar e manipular as informações de uma banda rebar específico:
GetBandCount Recupera o número de faixas corrente no controle rebar.
GetBandInfo Inicializa um REBARBANDINFO estrutura com informações banda especificada.Há um correspondente SetBandInfofunção de membro .
GetRect Recupera o retângulo delimitador de uma banda especificada.
GetRowCount Recupera o número de linhas de banda em um controle rebar.
IDToIndex Recupera o índice de uma banda especificada.
GetBandBorders Recupera as bordas de uma banda.
Além de manipulação, várias funções de membro são fornecidas que permitem que você opere em faixas rebar específico.
InsertBand and DeleteBand adicionar e remover rebar faixas.MinimizeBand and MaximizeBand afeta o dimensionar corrente de uma banda rebar específico.MoveBand altera o índice de uma banda rebar específico.ShowBand mostra ou oculta uma banda rebar do usuário.
O exemplo a seguir demonstra como adicionar uma banda da barra de ferramentas (m_wndToolBar) para um rebar existente de controle ()m_wndReBar). A banda é descrita por inicializar o rbi estrutura e, em seguida, chamar o InsertBand função de membro:
//load bitmap for toolbar background
m_RebarBitmap.LoadBitmap(IDB_BITMAP1);
//create a toolbar band
m_Toolbar1.Create(this, TBSTYLE_TRANSPARENT | TBSTYLE_FLAT);
m_Toolbar1.LoadToolBar(IDR_MAINFRAME);
REBARBANDINFO rbi = {0};
rbi.cbSize = sizeof(REBARBANDINFO);
rbi.fMask = RBBIM_BACKGROUND | RBBIM_CHILD | RBBIM_CHILDSIZE |
RBBIM_STYLE | RBBIM_TEXT;
rbi.fStyle = RBBS_GRIPPERALWAYS;
rbi.cxMinChild = 300;
rbi.cyMinChild = 50;
rbi.lpText = _T("Band #1");
rbi.cch = 7;
rbi.cx = 300;
rbi.hbmBack = (HBITMAP)m_RebarBitmap;
rbi.hwndChild = (HWND)m_Toolbar1;
m_Rebar.GetReBarCtrl().InsertBand(0, &rbi);