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);