Compartir por


Controles y bandas Rebar

El propósito principal de un control rbar es servir de contenedor para ventanas secundarias, controles de cuadro de diálogo comunes, menús, barras de herramientas, etc. Esta función de contenedor es compatible con el concepto de "banda". Cada banda rbar puede contener cualquier combinación de una barra de agarre, un mapa de bits, una etiqueta de texto y una ventana secundaria.

La clase CReBarCtrl tiene muchas funciones miembro que puede usar para recuperar y manipular la información de una banda rebar específica:

  • GetBandCount Recupera el número de bandas actuales en el control rebar.

  • GetBandInfo Inicializa una estructura REBARBANDINFO con información de la banda especificada. Hay una función miembro SetBandInfo correspondiente.

  • GetRect Recupera el rectángulo delimitador de una banda especificada.

  • GetRowCount Recupera el número de filas de banda en un control rebar.

  • IDToIndex Recupera el índice de una banda especificada.

  • GetBandBorders Recupera los bordes de una banda.

Además de la manipulación, se proporcionan varias funciones miembro que permiten operar sobre bandas rebar específicas.

InsertBand y DeleteBand agregan y quitan bandas rebar. MinimizeBand y MaximizeBand afectan al tamaño actual de una banda rebar específica. MoveBand cambia el índice de una banda rbar específica. ShowBand muestra u oculta una banda rebar para el usuario.

En el ejemplo siguiente se muestra cómo agregar una banda de barra de herramientas (m_wndToolBar) a un control rbar existente (m_wndReBar). La banda se describe inicializando la estructura rbi y llamando luego a la función miembro 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);

Consulte también

Uso de CReBarCtrl
Controles