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);
继承层次结构
要求
标头: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] 指定范围的最大值。
注解
使用此方法通过设置最小值和最大值来定义进度栏的范围。