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]指定功能區進度列的命令標識碼。
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 安裝位置下之 VC\atlmfc\src\mfc 資料夾中的原始程式碼。
virtual CSize GetRegularSize(CDC* pDC);
參數
[in] pDC
傳回值
備註
CMFCRibbonProgressBar::IsInfiniteMode
指定進度列是否在無限模式中運作。
BOOL IsInfiniteMode() const;
傳回值
如果進度列處於無限模式,則為TRUE;否則為 FALSE。
備註
在無限模式中,進度列會重複填滿最小值到最大值。 您可以使用無限模式來指出作業正在進行中,但完成時間未知。
CMFCRibbonProgressBar::OnDraw
如需更多詳細資料,請參閱 Visual Studio 安裝位置下之 VC\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]指定範圍的最大值。
備註
使用此方法可藉由設定最小值和最大值來定義進度列的範圍。