CMFCRibbonStatusBar 类

CMFCRibbonStatusBar 类实现可显示功能区元素的状态栏控件。

语法

class CMFCRibbonStatusBar : public CMFCRibbonBar

成员

公共方法

名称 描述
CMFCRibbonStatusBar::AddDynamicElement 将动态元素添加到功能区状态栏。
CMFCRibbonStatusBar::AddElement 将新的功能区元素添加到功能区状态栏。
CMFCRibbonStatusBar::AddExtendedElement 将功能区元素添加到功能区状态栏的扩展区域。
CMFCRibbonStatusBar::AddSeparator 将分隔符添加到功能区状态栏。
CMFCRibbonStatusBar::Create 创建功能区状态栏。
CMFCRibbonStatusBar::CreateEx 创建具有扩展样式的功能区状态栏。
CMFCRibbonStatusBar::FindByID
CMFCRibbonStatusBar::FindElement 返回指向具有指定命令 ID 的元素的指针。
CMFCRibbonStatusBar::GetCount 返回位于功能区状态栏主区域中的元素数。
CMFCRibbonStatusBar::GetElement 返回指向位于指定索引处的元素的指针。
CMFCRibbonStatusBar::GetExCount 返回位于功能区状态栏扩展区域的元素数。
CMFCRibbonStatusBar::GetExElement 返回指向元素的指针,该元素位于功能区状态栏扩展区域中的指定索引处。
CMFCRibbonStatusBar::GetExtendedArea
CMFCRibbonStatusBar::GetSpace
CMFCRibbonStatusBar::IsBottomFrame
CMFCRibbonStatusBar::IsExtendedElement
CMFCRibbonStatusBar::IsInformationMode 确定是否为功能区状态栏启用信息模式。
CMFCRibbonStatusBar::RecalcLayout (重写 CMFCribbonBar::RecalcLayout。)
CMFCRibbonStatusBar::RemoveAll 从功能区状态栏中移除所有元素。
CMFCRibbonStatusBar::RemoveElement 从功能区状态栏中移除具有指定命令 ID 的元素。
CMFCRibbonStatusBar::SetInformation 启用或禁用功能区状态栏的信息模式。

受保护方法

名称 描述
CMFCRibbonStatusBar::OnDrawInformation 显示启用信息模式时出现在功能区状态栏上的信息字符串。

注解

用户可以使用功能区状态栏的内置上下文菜单更改功能区状态栏上功能区元素的可见性。 可以动态地添加或移除元素。

功能区状态栏有两个区域:主区域和扩展区域。 扩展区域显示在功能区状态栏右侧,其颜色与主区域不同。

通常,状态栏的主区域显示状态通知,扩展区域显示视图控件。 当用户调整功能区状态栏的大小时,扩展区域会尽可能长时间地保持可见。

示例

下面的示例演示了如何使用 CMFCRibbonStatusBar 类中的各种方法。 该示例演示了如何将新的功能区元素添加到功能区状态栏、将功能区元素添加到功能区状态栏的扩展区域、添加分隔符以及启用功能区状态栏的常规模式。

// CMFCRibbonStatusBar  m_wndStatusBar
m_wndStatusBar.AddElement(rsbp, strTitlePane1);
m_wndStatusBar.AddExtendedElement(new CMFCRibbonStatusBarPane(ID_STATUSBAR_PANE2, strTitlePane2, TRUE),
                                  strTitlePane2);
m_wndStatusBar.AddSeparator();
m_wndStatusBar.SetInformation(NULL);

继承层次结构

CObject

CCmdTarget

CWnd

CBasePane

CPane

CMFCRibbonBar

CMFCRibbonStatusBar

要求

标头:afxribbonstatusbar.h

CMFCRibbonStatusBar::AddDynamicElement

将动态元素添加到功能区状态栏。

void AddDynamicElement(CMFCRibbonBaseElement* pElement);

参数

pElement
[in] 指向动态元素的指针。

备注

与常规元素不同,动态元素不可自定义,状态栏的自定义菜单不显示它们。

CMFCRibbonStatusBar::AddElement

将新的功能区元素添加到功能区状态栏。

void AddElement(
    CMFCRibbonBaseElement* pElement,
    LPCTSTR lpszLabel,
    BOOL bIsVisible=TRUE);

参数

pElement
[in] 指向已添加元素的指针。

lpszLabel
[in] 元素的文本标签。

bIsVisible
[in] 如果要将元素添加为可见,则为 TRUE,如果要将元素添加为隐藏,则为 FALSE。

CMFCRibbonStatusBar::AddExtendedElement

将功能区元素添加到功能区状态栏的扩展区域。

void AddExtendedElement(
    CMFCRibbonBaseElement* pElement,
    LPCTSTR lpszLabel,
    BOOL bIsVisible=TRUE);

参数

pElement
[in] 指向已添加元素的指针。

lpszLabel
[in] 元素的文本标签。

bIsVisible
[in] 如果要将元素添加为可见,则为 TRUE,如果要将元素添加为隐藏,则为 FALSE。

备注

扩展区域位于状态栏控件的右侧。

CMFCRibbonStatusBar::AddSeparator

将分隔符添加到功能区状态栏。

void AddSeparator();

备注

框架在方法 CMFCRibbonStatusBar::AddElement 之后添加了一个分隔符。 插入最后一个元素。

CMFCRibbonStatusBar::Create

创建功能区状态栏。

BOOL Create(
    CWnd* pParentWnd,
    DWORD dwStyle=WS_CHILD|WS_VISIBLE|CBRS_BOTTOM,
    UINT nID=AFX_IDW_STATUS_BAR);

参数

pParentWnd
[in] 指向父窗口的指针。

dwStyle
[in] 控件样式的逻辑“或”组合。

nID
[in] 状态栏的控件 ID。

返回值

如果已成功创建状态栏,则为 TRUE;否则为 FALSE。

CMFCRibbonStatusBar::CreateEx

创建具有扩展样式的功能区状态栏。

BOOL CreateEx(
    CWnd* pParentWnd,
    DWORD dwCtrlStyle=0,
    DWORD dwStyle=WS_CHILD|WS_VISIBLE|CBRS_BOTTOM,
    UINT nID=AFX_IDW_STATUS_BAR);

参数

pParentWnd
指向父窗口的指针。

dwCtrlStyle
用于创建状态栏对象的附加样式的逻辑“或”组合。

dwStyle
状态栏的控件样式。

nID
状态栏的控件 ID。

返回值

如果已成功创建状态栏,则为 TRUE;否则为 FALSE。

CMFCRibbonStatusBar::FindByID

有关详细信息,请参阅所安装的 Visual Studio 的 C\atlmfc\src\mfc 文件夹中的源代码。

CMFCRibbonBaseElement* FindByID(UINT uiCmdID, BOOL = TRUE);

参数

[in] uiCmdID
[in] BOOL

返回值

注解

CMFCRibbonStatusBar::FindElement

返回指向具有指定命令 ID 的元素的指针。

CMFCRibbonBaseElement* FindElement(UINT uiID);

参数

uiID
[in] 元素的 ID。

返回值

指向具有指定命令 ID 的元素的指针。 如果没有此类元素,则为 NULL。

CMFCRibbonStatusBar::GetCount

返回位于功能区状态栏主区域中的元素数。

int GetCount() const;

返回值

位于功能区状态栏主区域中的元素数。

CMFCRibbonStatusBar::GetElement

返回指向位于指定索引处的元素的指针。

CMFCRibbonBaseElement* GetElement(int nIndex);

参数

nIndex
[in] 指定位于状态栏控件主区域中的元素的从零开始的索引。

返回值

指向位于指定索引处的元素的指针。 如果索引为负或超过状态栏中的元素数,则为 NULL。

注解

CMFCRibbonStatusBar::GetExCount

返回位于功能区状态栏扩展区域的元素数。

int GetExCount() const;

返回值

位于功能区状态栏扩展区域的元素数。

CMFCRibbonStatusBar::GetExElement

返回指向元素的指针,该元素位于功能区状态栏扩展区域中的指定索引处。 扩展区域位于状态栏控件的右侧。

CMFCRibbonBaseElement* GetExElement(int nIndex);

参数

nIndex
[in] 指定元素的索引(从零开始),该元素位于状态栏控件的扩展区域中。

返回值

一个指向元素的指针,该元素位于功能区状态栏扩展区域中的指定索引处。 如果 nIndex 为负或超过功能区状态栏的扩展区域中的元素数,则为 NULL

备注

CMFCRibbonStatusBar::GetExtendedArea

有关详细信息,请参阅所安装的 Visual Studio 的 C\atlmfc\src\mfc 文件夹中的源代码。

virtual BOOL GetExtendedArea(CRect& rect) const;

参数

[in] rect

返回值

备注

CMFCRibbonStatusBar::GetSpace

有关详细信息,请参阅所安装的 Visual Studio 的 C\atlmfc\src\mfc 文件夹中的源代码。

int GetSpace() const;

返回值

备注

CMFCRibbonStatusBar::IsBottomFrame

有关详细信息,请参阅所安装的 Visual Studio 的 C\atlmfc\src\mfc 文件夹中的源代码。

BOOL IsBottomFrame() const;

返回值

备注

CMFCRibbonStatusBar::IsExtendedElement

有关详细信息,请参阅所安装的 Visual Studio 的 C\atlmfc\src\mfc 文件夹中的源代码。

BOOL IsExtendedElement(CMFCRibbonBaseElement* pElement) const;

参数

[in] pElement

返回值

注解

CMFCRibbonStatusBar::IsInformationMode

确定是否为功能区状态栏启用信息模式。

BOOL IsInformationMode() const;

返回值

如果状态栏可以在信息模式下工作,则为 TRUE;否则为 FALSE。

备注

在信息模式下,状态栏隐藏所有常规窗格并显示消息字符串。

CMFCRibbonStatusBar::OnDrawInformation

显示启用信息模式时出现在功能区状态栏上的字符串。

virtual void OnDrawInformation(
    CDC* pDC,
    CString& strInfo,
    CRect rectInfo);

参数

pDC
[in] 指向设备上下文的指针。

strInfo
[in] 信息字符串。

rectInfo
[in] 边框。

备注

如果要自定义状态栏上信息字符串的外观,请在派生类中重写此方法。 使用 CMFCribbonStatusBar::SetInformation 方法将状态栏置于信息模式。 在此模式下,状态栏会隐藏所有窗格并显示由 strInfo 指定的信息字符串

CMFCRibbonStatusBar::RecalcLayout

有关详细信息,请参阅所安装的 Visual Studio 的 C\atlmfc\src\mfc 文件夹中的源代码。

virtual void RecalcLayout();

备注

CMFCRibbonStatusBar::RemoveAll

从功能区状态栏中移除所有元素。

void RemoveAll();

CMFCRibbonStatusBar::RemoveElement

从功能区状态栏中移除具有指定命令 ID 的元素。

BOOL RemoveElement(UINT uiID);

参数

uiID
[in] 要从状态栏中移除的元素的 ID。

返回值

如果删除了具有指定 uiID 的元素,则为 TRUE。 否则返回 FALSE。

CMFCRibbonStatusBar::SetInformation

启用或禁用功能区状态栏的信息模式。

void SetInformation(LPCTSTR lpszInfo);

参数

lpszInfo
[in] 信息字符串。

备注

使用此方法可将状态栏置于信息模式下。 在此模式下,状态栏会隐藏所有窗格并显示由 lpszInfo 指定的信息字符串

当 lpszInfo 为 NULL 时,状态栏将还原为常规模式。

另请参阅

层次结构图

CMFCRibbonBar 类
CMFCRibbonBaseElement 类
CMFCRibbonBar 类