Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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);