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]指定範圍的最大值。
備註
使用此方法可藉由設定最小值和最大值來定義進度列的範圍。
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應