Controles y Bandas Rebar
El propósito principal de un control rebar es actuar como contenedor para ventanas secundarias, controles comunes de diálogo, menús, barras de herramientas, etc.Esta contención admitida por el concepto de una “banda.” Cada banda rebar puede contener cualquier combinación de una barra de agarrador, un mapa de bits, de una etiqueta de texto, y una ventana secundaria.
La clase CReBarCtrl tiene muchas funciones miembro que puede utilizar para recuperar, y manipular, información para una banda específica del rebar:
GetBandCount recupera el número de bandas actuales en el control rebar.
GetBandInfo inicializa una estructura de REBARBANDINFO con información de banda especificada.Hay una función miembro correspondiente de SetBandInfo .
GetRect recupera el rectángulo delimitador de una banda especificada.
GetRowCount recupera el número de filas de la banda en un control rebar.
IDToIndex recupera el índice de una banda especificada.
GetBandBorders recupera los bordes de una banda.
Además de manipulación, varias funciones miembro son que permitan que se opera en bandas específicas rebar.
InsertBand y DeleteBand agregan y quitan bandas rebar.MinimizeBand y MaximizeBand afectan al tamaño actual de una banda concreta rebar.MoveBand cambia el índice de una banda concreta rebar.ShowBand muestra u oculta una banda rebar de usuario.
El ejemplo siguiente muestra cómo agregar una banda de la barra de herramientas (m_wndToolBar) a un control existente rebar (m_wndReBar).Banda se describe inicializando la estructura de rbi y después llamar a la función miembro de 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);