Rebar 控制項和群組列
Rebar 控制項的主要用途是做為子視窗、通用對話方塊控制項、功能表、工具列等的容器。 「帶狀」的概念支援此內含專案。每個 Rebar 帶都可以包含夾子列、點陣圖、文字標籤和子視窗的任何組合。
類別 CReBarCtrl
有許多成員函式可供您用來擷取及操作特定 Rebar 帶的資訊:
GetBandCount 擷取 Rebar 控制項中的目前頻帶數目。
GetBandInfo 使用指定頻帶中的資訊,初始化 REBARBANDINFO 結構。 有對應的 SetBandInfo 成員函式。
GetRect 擷取指定帶的周框。
GetRowCount 擷取 Rebar 控制項中的帶狀資料列數目。
IDToIndex 擷取指定帶的索引。
GetBandBorders 擷取樂隊的框線。
除了操作之外,還提供數個成員函式,可讓您在特定 Rebar 帶上操作。
InsertBand 和 DeleteBand 新增和移除 Rebar 帶。 MinimizeBand 和 MaximizeBand 會影響特定 Rebar 帶的目前大小。 MoveBand 會變更特定 Rebar 帶 的索引。 ShowBand 會向使用者顯示或隱藏 Rebar 帶。
下列範例示範如何將工具列帶( m_wndToolBar )新增至現有的 Rebar 控制項( m_wndReBar )。 此波段會藉由初始化 rbi
結構,然後呼叫 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);