Matrice – ovládací prvky a pruhy
Hlavním účelem ovládacího prvku rebar je pracovat jako kontejner pro podřízená okna, běžné dialogové ovládací prvky, nabídky, panely nástrojů atd. Toto uzavření je podporováno konceptem "pásma". Každá pruhová pruhová znaménka může obsahovat libovolnou kombinaci úchytu, rastrového obrázku, textového popisku a podřízeného okna.
Třída CReBarCtrl
má mnoho členských funkcí, které můžete použít k načtení a manipulaci s informacemi pro konkrétní pruhový pruh:
GetBandCount načte počet aktuálních pásem v ovládacím prvku panelu.
GetBandInfo Inicializuje strukturu REBARBANDINFO s informacemi ze zadaného pásma. Existuje odpovídající členová funkce SetBandInfo .
GetRect Načte ohraničující obdélník zadaného pásma.
GetRowCount načte počet řádků pásma v ovládacím prvku panelu.
IDToIndex Načte index zadaného pásma.
GetBandBorders Načte ohraničení pásma.
Kromě manipulace je k dispozici několik členských funkcí, které umožňují pracovat s konkrétními pruhy rebar.
InsertBand a DeleteBand přidávají a odebírat pruhy rebaru. MinimalizovatBand a MaximalizovatBand ovlivňují aktuální velikost konkrétního pruhového pruhu. MoveBand změní index určitého pruhového pruhu. ShowBand zobrazí nebo skryje pruh zábradlí od uživatele.
Následující příklad ukazuje přidání pruhu nástrojů (m_wndToolBar) do existujícího rebar ovládacího prvku (m_wndReBar). Pásma je popsána inicializací rbi
struktury a následným voláním InsertBand
členské funkce:
//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);