次の方法で共有


CTaskDialog::SetProgressBarState

プログレス バーの状態を設定し、それを CTaskDialog に表示します。

void SetProgressBarState(
   int nState = PBST_NORMAL
);

パラメーター

  • [入力] nState
    プログレス バーの状態。 有効な値については、「解説」を参照してください。

解説

CTaskDialog が既に表示されており、そこにマーキー プログレス バーが含まれている場合、このメソッドは ENSURE (MFC) によって例外をスローします。

次の表に、nState の有効値を示します。 どの場合でも、プログレス バーの色は、指定された停止位置に到達するまで標準の色になります。 指定された停止位置に到達した時点で、状態に応じて色が変更されます。

  • PBST_NORMAL
    CTaskDialog のプログレス バーが終端に到達した後も、プログレス バーの色は変更されません。 既定で、標準の色は緑色です。

  • PBST_ERROR
    CTaskDialog のプログレス バーが終端に到達した後、プログレス バーの色はエラー色に変更されます。 既定で、この色は赤色です。

  • PBST_PAUSED
    CTaskDialog のプログレス バーが終端に到達した後、プログレス バーの色は一時停止色に変更されます。 既定で、この色は黄色です。

プログレス バーが停止する位置は、CTaskDialog::SetProgressBarPosition を使用して設定できます。

使用例

// TODO: Replace the strings below with the appropriate message, 
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");

CTaskDialog taskDialog(message, mainInstruction, title, 
    TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON );

// Add a marquee progress bar.
taskDialog.SetProgressBarMarquee();

taskDialog.DoModal();

// Remove the marquee bar and replace it with a standard progress bar
taskDialog.SetProgressBarMarquee(0);
taskDialog.SetProgressBarRange(0, 100);
taskDialog.SetProgressBarPosition(75);
taskDialog.SetProgressBarState();

taskDialog.DoModal();

必要条件

**ヘッダー:**afxtaskdialog.h

参照

参照

CTaskDialog クラス

階層図

CTaskDialog::SetProgressBarMarquee

CTaskDialog::SetProgressBarRange

CTaskDialog::SetProgressBarPosition