Controlli Rebar e bande

Lo scopo principale di un controllo rebar è quello di fungere da contenitore per finestre figlio, controlli di dialogo comuni, menu, barre degli strumenti e così via. Questo contenimento è supportato dal concetto di "banda". Ogni banda della barra di ripetizione può contenere qualsiasi combinazione di una barra gripper, una bitmap, un'etichetta di testo e una finestra figlio.

La classe CReBarCtrl include molte funzioni membro che è possibile usare per recuperare e modificare le informazioni per una banda di barre di riesecuzione specifica:

  • GetBandCount Recupera il numero di bande correnti nel controllo rebar.

  • GetBandInfo Inizializza una struttura REBARBANDINFO con informazioni della banda specificata. Esiste una funzione membro SetBandInfo corrispondente.

  • GetRect Recupera il rettangolo di delimitazione di una banda specificata.

  • GetRowCount Recupera il numero di righe di banda in un controllo rebar.

  • IDToIndex Recupera l'indice di una banda specificata.

  • GetBandBorders Recupera i bordi di una banda.

Oltre alla manipolazione, vengono fornite diverse funzioni membro che consentono di operare su bande di ribar specifiche.

InsertBand e DeleteBand aggiungono e rimuovono le bande rebar. MinimizeBand e MaximizeBand influiscono sulle dimensioni correnti di una banda della barra di riesezione specifica. MoveBand modifica l'indice di una specifica banda della barra di spostamento. ShowBand mostra o nasconde un gruppo di barre di ripetizione dall'utente.

Nell'esempio seguente viene illustrata l'aggiunta di una barra degli strumenti (m_wndToolBar) a un controllo rebar esistente (m_wndReBar). La banda viene descritta inizializzando la rbi struttura e quindi chiamando la InsertBand funzione 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);

Vedi anche

Uso di CReBarCtrl
Controlli