共用方式為


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]指定功能區進度列的命令識別碼。

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]指定範圍的最大值。

備註

使用此方法可藉由設定最小值和最大值來定義進度列的範圍。

另請參閱

階層架構圖表
類別
CMFCRibbonBaseElement 類別
CMFCRibbonBar 類別