CReBar 类

提供 Rebar 控件的布局、持久性和状态信息的控件条。

语法

class CReBar : public CControlBar

成员

公共方法

名称 描述
CReBar::AddBar 向 rebar 添加一个区段。
CReBar::Create 创建 rebar 控件并将其附加到 CReBar 对象。
CReBar::GetReBarCtrl 允许直接访问基础公共控件。

注解

Rebar 对象可以包含各种子窗口,通常为其他控件,包括编辑框、工具栏和列表框。 Rebar 对象可以在指定位图上显示其子窗口。 应用程序可以自动重设 rebar 的大小,或者用户可以通过单击或拖动其控制手柄条来手动重设 rebar 的大小。

Example of RebarMenu.

rebar 控件

rebar 对象的行为类似于工具栏对象。 rebar 使用单击和拖动机制重设其区段的大小。 Rebar 控件可以包含一个或多个带区,每个带区都有手柄栏、位图、文本标签和子窗口的任意组合。 但是,带区不可包含多个子窗口。

CReBar 使用 CReBarCtrl 类提供其实现。 可以通过 GetReBarCtrl 访问 rebar 控件,以利用控件的自定义选项。 有关 rebar 控件的详细信息,请参阅 CReBarCtrl。 有关使用 rebar 控件的详细信息,请参阅使用 CReBarCtrl

注意

rebar 和 rebar 控件对象不支持 MFC 控件条停靠。 如果调用 CRebar::EnableDocking,应用程序将断言。

继承层次结构

CObject

CCmdTarget

CWnd

CControlBar

CReBar

要求

标头:afxext.h

CReBar::AddBar

调用此成员函数,将区段添加到 rebar 中。

BOOL AddBar(
    CWnd* pBar,
    LPCTSTR pszText = NULL,
    CBitmap* pbmp = NULL,
    DWORD dwStyle = RBBS_GRIPPERALWAYS | RBBS_FIXEDBMP);

BOOL AddBar(
    CWnd* pBar,
    COLORREF clrFore,
    COLORREF clrBack,
    LPCTSTR pszText = NULL,
    DWORD dwStyle = RBBS_GRIPPERALWAYS);

参数

pBar
指向要插入到 rebar 中的子窗口的 CWnd 对象的指针。 引用的对象必须具有 WS_CHILD。

lpszText
指向包含要显示在 rebar 上的文本的字符串的指针。 默认情况下为 NULL。 lpszText 中包含的文本不是子窗口的一部分;它位于 rebar 本身上。

pbmp
指向要显示在 rebar 背景上的 CBitmap 对象的指针。 默认情况下为 NULL。

dwStyle
包含要应用于 rebar 的样式的 DWORD。 有关区段样式的完整列表,请参阅 Win32 结构 REBARBANDINFO 中的 fStyle 函数说明。

clrFore
一个 COLORREF 值,它表示 rebar 的前景色。

clrBack
一个 COLORREF 值,它表示 rebar 的背景色。

返回值

如果成功,则不为 0;否则为 0。

示例

// Define a CRebar in your class definition,
// such as: CReBar m_wndReBar;
m_wndReBar.Create(this);
m_wndDlgBar.Create(this, IDD_DIALOGBAR, CBRS_ALIGN_TOP,
                   IDD_DIALOGBAR);
m_wndReBar.AddBar(&m_wndDlgBar);

CReBar::Create

调用此成员函数来创建 rebar。

virtual BOOL Create(
    CWnd* pParentWnd,
    DWORD dwCtrlStyle = RBS_BANDBORDERS,
    DWORD dwStyle = WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_TOP,
    UINT nID = AFX_IDW_REBAR);

参数

pParentWnd
指向 CWnd 对象的指针,该对象的 Windows 窗口是状态栏的父级。 通常是框架窗口。

dwCtrlStyle
rebar 控件样式。 默认为 RBS_BANDBORDERS,它显示用于分隔 rebar 控件内相邻区段的窄线。 有关样式的列表,请参阅 Windows SDK 中的 rebar 控件样式

dwStyle
rebar 窗口样式。

nID
rebar 的子窗口 ID。

返回值

如果成功,则不为 0;否则为 0。

示例

请参阅 CReBar::AddBar 的示例。

CReBar::GetReBarCtrl

此成员函数允许直接访问基础常用控件。

CReBarCtrl& GetReBarCtrl() const;

返回值

CReBarCtrl 对象的引用。

注解

调用此成员函数以利用在自定义 rebar 时 Windows rebar 公共控件提供的功能。 当你调用 GetReBarCtrl 时,它将返回对 CReBarCtrl 对象的引用对象,这样你就可以使用任何一组成员函数。

有关使用 CReBarCtrl 自定义 rebar 的详细信息,请参阅使用 CReBarCtrl

示例

CReBarCtrl &refReBarCtrl = m_wndReBar.GetReBarCtrl();

UINT nBandCount = refReBarCtrl.GetBandCount();
CString msg;
msg.Format(_T("Band Count is: %u"), nBandCount);
AfxMessageBox(msg);

另请参阅

MFC 示例 MFCIE
CControlBar Class
层次结构图