Partilhar via


Controles e bandas de vergalhões

O principal objetivo de um rebar é atuar como um contentor para janelas-filhas, controlos de diálogo comuns, menus, barras de ferramentas e assim por diante. Esta contenção é suportada pelo conceito de uma "banda". Cada banda pode incluir qualquer combinação de uma barra de aperto, um bitmap, um rótulo de texto e uma janela filha.

A Classe CReBarCtrl tem muitas funções de membro que pode-se usar para recuperar e manipular informações de uma banda de vergalhão específica.

  • GetBandCount Recupera o número de bandas atuais no controlo de rebar.

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

  • GetRect Recupera o retângulo delimitador de uma banda especificada.

  • GetRowCount Recupera o número de linhas de banda em um controle de vergalhão.

  • IDToIndex Recupera o índice de uma banda especificada.

  • GetBandBorders Recupera os limites de uma banda.

Além do manuseio, são disponibilizadas várias funções que permitem operar em bandas de vergalhão específicas.

InsertBand e DeleteBand adicionam e removem bandas de aço. MinimizeBand e MaximizeBand afetam o tamanho atual de uma banda de vergalhão específica. MoveBand altera o índice de uma banda de vergalhão específica. ShowBand mostra ou oculta uma faixa de ferramentas para o utilizador.

O exemplo a seguir demonstra a adição de uma banda de barra de ferramentas (m_wndToolBar) a um controlo de rebarra existente (m_wndReBar). A banda é descrita inicializando a rbi estrutura e, em seguida, chamando a 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);

Ver também

Usando CReBarCtrl
Controlos