CMFCRibbonStatusBarPane 类

CMFCRibbonStatusBarPane 类实现可添加到功能区状态栏的功能区元素。

语法

class CMFCRibbonStatusBarPane : public CMFCRibbonButton

成员

公共构造函数

名称 描述
CMFCRibbonStatusBarPane::CMFCRibbonStatusBarPane 构造并初始化一个 CMFCRibbonStatusBarPane 对象。

公共方法

名称 描述
CMFCRibbonStatusBarPane::GetAlmostLargeText 返回一个字符串,该字符串定义可在窗格中显示且不截断的最长文本字符串。
CMFCRibbonStatusBarPane::GetTextAlign 返回文本对齐方式的当前设置。
CMFCRibbonStatusBarPane::IsAnimation 确定动画是否正在进行中。
CMFCRibbonStatusBarPane::IsExtended 确定窗格是否位于功能区状态栏的扩展区域。
CMFCRibbonStatusBarPane::OnDrawBorder (重写 CMFCRibbonButton::OnDrawBorder。)
CMFCRibbonStatusBarPane::OnFillBackground (重写 CMFCRibbonButton::OnFillBackground。)
CMFCRibbonStatusBarPane::SetAlmostLargeText 定义可在窗格中显示且不截断的最长文本字符串。
CMFCRibbonStatusBarPane::SetAnimationList 向窗格分配可用于动画的图像列表。
CMFCRibbonStatusBarPane::SetTextAlign 设置文本对齐方式。
CMFCRibbonStatusBarPane::StartAnimation 启动分配给窗格的动画。
CMFCRibbonStatusBarPane::StopAnimation 停止分配给窗格的动画。 。

受保护方法

名称 描述
CMFCRibbonStatusBarPane::OnFinishAnimation 当分配给窗格的动画停止时,由框架调用。

示例

下面的示例演示如何使用 CMFCRibbonStatusBarPane 类中的各种方法。 该示例演示如何构造 CMFCRibbonStatusBarPane 对象、设置状态栏窗格标签的文本对齐方式、定义可在状态栏窗格中显示且不截断的最长文本、向状态栏窗格附加可用于动画的图像列表以及启动动画。

CString strTitlePane1;
CString strTitlePane2;
strTitlePane1.LoadString(IDS_STATUS_PANE1);
strTitlePane2.LoadString(IDS_STATUS_PANE2);

CMFCRibbonStatusBarPane* rsbp = new CMFCRibbonStatusBarPane( ID_STATUSBAR_PANE1, strTitlePane1, TRUE );
rsbp->SetTextAlign( TA_CENTER );
rsbp->SetAlmostLargeText( _T( "Status bar" ) );
CBitmap bitmap;
bitmap.LoadBitmapW( IDB_FILESMALL );
rsbp->SetAnimationList( (HBITMAP)bitmap );
rsbp->StartAnimation();

继承层次结构

CObject

CMFCRibbonBaseElement

CMFCRibbonButton

CMFCRibbonStatusBarPane

要求

头文件:afxribbonstatusbarpane.h

CMFCRibbonStatusBarPane::CMFCRibbonStatusBarPane

在状态栏中构造窗格对象。

CMFCRibbonStatusBarPane(
    UINT nCmdID,
    LPCTSTR lpszText,
    BOOL bIsStatic=FALSE,
    HICON hIcon=NULL,
    LPCTSTR lpszAlmostLargeText=NULL);

CMFCRibbonStatusBarPane(
    UINT nCmdID,
    LPCTSTR lpszText,
    HBITMAP hBmpAnimationList,
    int cxAnimation=16,
    COLORREF clrTrnsp=RGB(192,192 1,192) 1,
    HICON hIcon=NULL,
    BOOL bIsStatic=FALSE);

CMFCRibbonStatusBarPane(
    UINT nCmdID,
    LPCTSTR lpszText,
    UINT uiAnimationListResID,
    int cxAnimation=16,
    COLORREF clrTrnsp=RGB(192, 192 1, 192) 1,
    HICON hIcon=NULL,
    BOOL bIsStatic=FALSE);

参数

nCmdID
[in] 指定窗格的命令 ID。

lpszText
[in] 指定要在窗格中显示的文本字符串。

bIsStatic
[in] 如果为 TRUE,则不能通过单击状态窗格来突出显示或选择它。

hIcon
[in] 指定要在窗格中显示的图标的句柄。

lpszAlmostLargeText
[in] 指定窗格可显示的最长文本字符串。

hBmpAnimationList
[in] 指定用于动画的图像列表的句柄。

cxAnimation
[in] 指定用于动画的图像列表中图标的宽度(以像素为单位)。

clrTrnsp
[in] 指定用于动画的图像列表中图像的透明色。

uiAnimationListResID
[in] 指定用于动画的图像列表的资源 ID。

CMFCRibbonStatusBarPane::GetAlmostLargeText

获取状态栏窗格可显示的最长文本字符串。

LPCTSTR GetAlmostLargeText() const;

返回值

状态栏窗格可显示的最长文本字符串。

CMFCRibbonStatusBarPane::GetTextAlign

获取状态栏窗格标签的文本对齐方式的当前设置。

int GetTextAlign() const;

返回值

当前文本对齐方式,可为下列其中一种:

  • TA_LEFT

  • TA_CENTER

  • TA_RIGHT。

CMFCRibbonStatusBarPane::IsAnimation

确定动画是否正在进行中。

BOOL IsAnimation() const;

返回值

如果动画正在进行,则为 TRUE;否则为 FALSE。

CMFCRibbonStatusBarPane::IsExtended

确定窗格是否位于功能区状态栏的扩展区域。

BOOL IsExtended() const;

返回值

如果窗格位于状态栏扩展区域,则为 TRUE, 否则返回 FALSE。

CMFCRibbonStatusBarPane::OnDrawBorder

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

virtual void OnDrawBorder(CDC*);

参数

[in] CDC*

注解

CMFCRibbonStatusBarPane::OnFillBackground

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

virtual COLORREF OnFillBackground(CDC* pDC);

参数

[in] pDC

返回值

备注

CMFCRibbonStatusBarPane::OnFinishAnimation

当分配给窗格的动画结束时,框架将调用此方法。

virtual void OnFinishAnimation();

备注

StopAnimation 方法调用 OnFinishAnimation 方法,可用于在动画结束时清理数据。

CMFCRibbonStatusBarPane::SetAlmostLargeText

定义可在状态栏窗格中显示且不截断的最长文本。

void SetAlmostLargeText(LPCTSTR lpszAlmostLargeText);

参数

lpszAlmostLargeText
[in] 指定可在状态栏窗格中显示且不截断的最长字符串。

备注

该库计算 lpszAlmostLargeText 指定的文本大小,并相应地调整窗格大小。 如果文本仍然无法完整放入窗格,则将被截断。

CMFCRibbonStatusBarPane::SetAnimationList

向状态栏窗格附加可用于动画的图像列表。

void SetAnimationList(
    HBITMAP hBmpAnimationList,
    int cxAnimation=16,
    COLORREF clrTransp=RGB(192, 192 1, 192) 1);

BOOL SetAnimationList(
    UINT uiAnimationListResID,
    int cxAnimation=16,
    COLORREF clrTransp=RGB(192, 192 1, 192) 1);

参数

hBmpAnimationList
[in] 指定图像列表的句柄。

cxAnimation
[in] 指定图像列表中帧的宽度(以像素为单位)。

clrTransp
[in] 指定图像列表的透明色。

uiAnimationListResID
[in] 指定映像列表的资源 ID。

返回值

如果图像列表已成功附加到状态栏窗格,则为 TRUE;否则为 FALSE。

CMFCRibbonStatusBarPane::SetTextAlign

设置状态栏窗格标签的文本对齐方式。

void SetTextAlign(int nAlign);

参数

nAlign
[in] 指定文本对齐方式。

注解

nAlign 可以具有下列任一值

  • TA_LEFT:左对齐

  • TA_CENTER:居中对齐

  • TA_RIGHT:右对齐

CMFCRibbonStatusBarPane::StartAnimation

启动分配给窗格的动画。

void StartAnimation(
    UINT nFrameDelay=500,
    UINT nDuration=-1);

参数

nFrameDelay
[in] 指定动画帧速率(以毫秒为单位)。

nDuration
[in] 指定动画播放多长时间(以毫秒为单位)。 使用 -1 实现无限循环。

备注

必须先指定图像列表的句柄,然后才能使用 SetAnimationList 调用 StartAnimation

CMFCRibbonStatusBarPane::StopAnimation

停止分配给状态栏窗格的动画。

void StopAnimation();

另请参阅

层次结构图

CMFCRibbonButton 类
CMFCRibbonStatusBar 类