CMFCRibbonProgressBar 类

实现用于直观指示较长操作进度的控件。

语法

class CMFCRibbonProgressBar : public CMFCRibbonBaseElement

成员

公共构造函数

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

公共方法

名称 描述
CMFCRibbonProgressBar::GetPos 返回当前进度。
CMFCRibbonProgressBar::GetRangeMax 返回当前范围的最大值。
CMFCRibbonProgressBar::GetRangeMin 返回当前范围的最小值。
CMFCRibbonProgressBar::GetRegularSize 返回功能区元素的常规大小。 (重写 CMFCRibbonBaseElement::GetRegularSize。)
CMFCRibbonProgressBar::IsInfiniteMode 指定进度栏是否在无限模式下工作。
CMFCRibbonProgressBar::OnDraw 由框架调用以绘制功能区元素。 (重写 CMFCRibbonBaseElement::OnDraw。)
CMFCRibbonProgressBar::SetInfiniteMode 将进度栏设置为在无限模式下工作。
CMFCRibbonProgressBar::SetPos 设置当前进度。
CMFCRibbonProgressBar::SetRange 设置最小值和最大值。

备注

CMFCRibbonProgressBar 可以在两种模式下运行:常规模式和无限模式。 在常规模式下,进度栏从左至右填充,达到最大值时停止。 在无限模式下,进度栏从最小值到最大值重复填充。 可以使用无限模式来指示操作正在进行,但完成时间未知。

示例

下面的示例演示了如何使用 CMFCRibbonProgressBar 类中的各种方法。 本示例演示如何将进度栏设置为在无限模式下工作(操作完成时间未知)、设置进度栏的最小值和最大值以及设置进度栏的当前位置。 此代码片段是 MS Office 2007 演示示例的一部分。

// int cxProgress
// BOOL m_bInfiniteProgressMode
CMFCRibbonProgressBar *pProgressBar = new CMFCRibbonProgressBar(ID_STATUSBAR_PROGRESS, cxProgress);

pProgressBar->SetInfiniteMode(m_bInfiniteProgressMode);
pProgressBar->SetRange(0, 200);
pProgressBar->SetPos(200, true);

继承层次结构

CObject

CMFCRibbonBaseElement

CMFCRibbonProgressBar

要求

标头:afxRibbonProgressBar.h

CMFCRibbonProgressBar::CMFCRibbonProgressBar

构造并初始化 CMFCRibbonProgressBar 对象。

CMFCRibbonProgressBar();

CMFCRibbonProgressBar(
    UINT nID,
    int nWidth = 90,
    int nHeight = 22);

参数

nID
[in] 指定功能区进度栏的命令 ID。

nWidth
[in] 指定功能区进度栏的宽度(以像素为单位)。

nHeight
[in] 指定功能区进度栏的高度(以像素为单位)。

CMFCRibbonProgressBar::GetPos

返回进度栏的当前位置。

int GetPos () const;

返回值

表示进度栏当前位置的值。

备注

所设置的范围必须在 CMFCRibbonProgressBar::SetRange 方法指定的范围内。

CMFCRibbonProgressBar::GetRangeMax

返回进度栏的当前最大值。

int GetRangeMax() const;

返回值

当前范围的最大值。

备注

CMFCRibbonProgressBar::GetRangeMin

返回进度栏的当前最小范围值。

int GetRangeMin() const;

返回值

当前范围的最小值。

CMFCRibbonProgressBar::GetRegularSize

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

virtual CSize GetRegularSize(CDC* pDC);

参数

[in] pDC

返回值

注解

CMFCRibbonProgressBar::IsInfiniteMode

指定进度栏是否在无限模式下工作。

BOOL IsInfiniteMode() const;

返回值

如果进度栏处于无限模式,则为 TRUE;否则为 FALSE。

备注

在无限模式下,进度栏从最小值到最大值重复填充。 可以使用无限模式来指示操作正在进行,但完成时间未知。

CMFCRibbonProgressBar::OnDraw

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

virtual void OnDraw(CDC* pDC);

参数

[in] pDC

注解

CMFCRibbonProgressBar::SetInfiniteMode

将进度栏设置为在无限模式下工作。

void SetInfiniteMode(BOOL bSet = TRUE);

参数

bSet
[in] 如果为 TRUE,则指定进度栏处于无限模式;否则为 FALSE。

备注

通常,如果进度栏处于无限模式,则会告知用户操作正在进行,但完成时间未知。 因此,进度栏从最小值到最大值重复填充。

CMFCRibbonProgressBar::SetPos

设置进度栏的当前位置。

void SetPos(
    int nPos,
    BOOL bRedraw = TRUE);

参数

nPos
[in] 指定设置进度栏的位置。

bRedraw
[in] 指定是否应重绘进度栏。

备注

所设置的范围必须在 CMFCRibbonProgressBar::SetRange 方法指定的范围内。

CMFCRibbonProgressBar::SetRange

设置进度栏的最小值和最大值。

void SetRange(
    int nMin,
    int nMax);

参数

nMin
[in] 指定范围的最小值。

nMax
[in] 指定范围的最大值。

注解

使用此方法通过设置最小值和最大值来定义进度栏的范围。

另请参阅

层次结构图

CMFCRibbonBaseElement 类
CMFCRibbonBar 类