CMFCRibbonProgressBar Class
Implements a control that visually indicates the progress of a lengthy operation.
Syntax
class CMFCRibbonProgressBar : public CMFCRibbonBaseElement
Members
Public Constructors
Name | Description |
---|---|
CMFCRibbonProgressBar::CMFCRibbonProgressBar | Constructs and initializes a CMFCRibbonProgressBar object. |
Public Methods
Name | Description |
---|---|
CMFCRibbonProgressBar::GetPos | Returns the current progress. |
CMFCRibbonProgressBar::GetRangeMax | Returns the maximum value of the current range. |
CMFCRibbonProgressBar::GetRangeMin | Returns the minimum value of the current range. |
CMFCRibbonProgressBar::GetRegularSize | Returns the regular size of the ribbon element. (Overrides CMFCRibbonBaseElement::GetRegularSize.) |
CMFCRibbonProgressBar::IsInfiniteMode | Specifies whether the progress bar is working in infinite mode. |
CMFCRibbonProgressBar::OnDraw | Called by the framework to draw the ribbon element. (Overrides CMFCRibbonBaseElement::OnDraw.) |
CMFCRibbonProgressBar::SetInfiniteMode | Sets the progress bar to work in infinite mode. |
CMFCRibbonProgressBar::SetPos | Sets the current progress. |
CMFCRibbonProgressBar::SetRange | Sets the minimum and maximum values. |
Remarks
A CMFCRibbonProgressBar
can operate in two modes: regular and infinite. In regular mode, the progress bar is filled from left to right and stops when it reaches the maximum value. In infinite mode, the progress bar is repeatedly filled from the minimum value to the maximum value. You might use infinite mode to indicate that an operation is ongoing, but that the completion time is unknown.
Example
The following example demonstrates how to use various methods in the CMFCRibbonProgressBar
class. The example shows how to set the progress bar to work in infinite mode (where the completion time of an operation is unknown), set the minimum and maximum values for the progress bar, and set the current position of the progress bar. This code snippet is part of the MS Office 2007 Demo sample.
// 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);
Inheritance Hierarchy
Requirements
Header: afxRibbonProgressBar.h
CMFCRibbonProgressBar::CMFCRibbonProgressBar
Constructs and initializes a CMFCRibbonProgressBar object.
CMFCRibbonProgressBar();
CMFCRibbonProgressBar(
UINT nID,
int nWidth = 90,
int nHeight = 22);
Parameters
nID
[in] Specifies the command ID for the ribbon progress bar.
nWidth
[in] Specifies the width, in pixels, of the ribbon progress bar.
nHeight
[in] Specifies the height, in pixels, of the ribbon progress bar.
CMFCRibbonProgressBar::GetPos
Returns the current position of the progress bar.
int GetPos () const;
Return Value
A value representing the current position of the progress bar.
Remarks
The range being set must be within the range specified by the CMFCRibbonProgressBar::SetRange method.
CMFCRibbonProgressBar::GetRangeMax
Returns the progress bar's current maximum value.
int GetRangeMax() const;
Return Value
The maximum value of the current range.
Remarks
CMFCRibbonProgressBar::GetRangeMin
Returns the progress bar's current minimum range value.
int GetRangeMin() const;
Return Value
The minimum value of the current range.
CMFCRibbonProgressBar::GetRegularSize
For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.
virtual CSize GetRegularSize(CDC* pDC);
Parameters
[in] pDC
Return Value
Remarks
CMFCRibbonProgressBar::IsInfiniteMode
Specifies whether the progress bar is working in infinite mode.
BOOL IsInfiniteMode() const;
Return Value
TRUE if the progress bar is in infinite mode; otherwise, FALSE.
Remarks
In infinite mode, the progress bar fills repeatedly from the minimum value to the maximum value. You might use infinite mode to indicate that an operation is ongoing, but that the completion time is unknown.
CMFCRibbonProgressBar::OnDraw
For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.
virtual void OnDraw(CDC* pDC);
Parameters
[in] pDC
Remarks
CMFCRibbonProgressBar::SetInfiniteMode
Sets the progress bar to work in infinite mode.
void SetInfiniteMode(BOOL bSet = TRUE);
Parameters
bSet
[in] TRUE to specify that the progress bar is in infinite mode; otherwise, FALSE.
Remarks
Usually, if the progress bar is in infinite mode, it is telling the user that an operation is ongoing, but that the completion time is unknown. Thus, the progress bar fills repeatedly from the minimum value to the maximum value.
CMFCRibbonProgressBar::SetPos
Sets the current position of the progress bar.
void SetPos(
int nPos,
BOOL bRedraw = TRUE);
Parameters
nPos
[in] Specifies the position to which the progress bar is set.
bRedraw
[in] Specifies whether the progress bar should be redrawn.
Remarks
The range being set must be within the range specified by the CMFCRibbonProgressBar::SetRange method.
CMFCRibbonProgressBar::SetRange
Sets the minimum and maximum values for the progress bar.
void SetRange(
int nMin,
int nMax);
Parameters
nMin
[in] Specifies the minimum value of the range.
nMax
[in] Specifies the maximum value of the range.
Remarks
Use this method to define the range of the progress bar by setting minimum and maximum values.
See also
Hierarchy Chart
Classes
CMFCRibbonBaseElement Class
CMFCRibbonBar Class