Partilhar via


Controles rebar e bandas

A principal finalidade de um controle rebar é atuar como um contêiner para janelas filho, controles de diálogo comuns, menus, barras de ferramentas etc. Essa independência é compatível com o conceito de uma "banda". Cada banda rebar pode conter qualquer combinação de uma barra de pinça, um bitmap, um rótulo de texto e uma janela filho.

A classe CReBarCtrl tem muitas funções de membro que você pode usar para recuperar e manipular informações para uma banda rebar específica:

  • GetBandCount Recupera o número de faixas atuais no controle rebar.

  • GetBandInfo Inicializa uma estrutura REBARBANDINFO com informações da banda especificada. Há uma função de membro SetBandInfo correspondente.

  • 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 da manipulação, são fornecidas várias funções de membro que permitem que você opere em faixas rebar específicas.

InsertBand e DeleteBand adicionam e removem bandas rebar. MinimizeBand e MaximizeBand afetam o tamanho atual de uma banda rebar específica. MoveBand altera o índice de uma banda rebar específica. ShowBand mostra ou oculta uma banda rebar do usuário.

O exemplo a seguir demonstra a adição de uma banda da barra de ferramentas (m_wndToolBar) a um controle rebar (m_wndReBar). A banda é descrita inicializando a estrutura rbi e chamando a função de membro InsertBand:

//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);

Confira também

Usando CReBarCtrl
Controles