共用方式為


IProgressDialog 介面 (shlobj_core.h)

公開方法,提供應用程式顯示進度對話框的選項。 此介面是由進度對話框物件 (CLSID_ProgressDialog) 匯出。 這個物件是一種泛型方式,可向用戶顯示作業的進度。 通常會在刪除、上傳、複製、移動或下載大量檔案時使用。

繼承

IProgressDialog 介面繼承自 IUnknown 介面。 IProgressDialog 也有下列類型的成員:

方法

IProgressDialog 介面具有這些方法。

 
IProgressDialog::HasUserCancelled

檢查使用者是否已取消作業。
IProgressDialog::SetAnimation

指定在對話框中執行的 Audio-Video 交錯 (AVI) 剪輯。
IProgressDialog::SetCancelMsg

設定使用者取消作業時要顯示的訊息。
IProgressDialog::SetLine

在進度對話框中顯示訊息。
IProgressDialog::SetProgress

匯報 具有作業目前狀態的進度對話框。 (IProgressDialog.SetProgress)
IProgressDialog::SetProgress64

匯報 具有作業目前狀態的進度對話框。 (IProgressDialog.SetProgress64)
IProgressDialog::SetTitle

設定進度對話框的標題。
IProgressDialog::StartProgressDialog

啟動進度對話框。
IProgressDialog::StopProgressDialog

停止進度對話框,並將它從畫面中移除。
IProgressDialog::Timer

將進度對話框定時器重設為零。

備註

進度對話框物件會建立無模式對話框,並允許用戶端設定其標題、動畫、文字行和進度列。 然後物件會處理背景線程上的更新,並允許使用者取消作業。 或者,它會估計作業完成前剩餘的時間,並將信息顯示為文字行。

應用程式通常不會實作此介面。 進度對話框物件會匯出以供應用程式使用。

當您的應用程式需要顯示進度對話框時,請使用此介面。 若要初始化物件:

  1. 使用 CoCreateInstance 建立同進程進度對話框物件 (CLSID_ProgressDialog) 。 要求其 IProgressDialog 介面的指標 (IID_IProgressDialog) 。
  2. 呼叫 IProgressDialog::SetTitle 以指定對話框標題。
  3. 呼叫 IProgressDialog::SetAnimation 以指定要在作業進行時播放的 AVI 剪輯。
  4. 呼叫 IProgressDialog::SetCancelMsg 以指定使用者取消作業時將顯示的訊息。
若要顯示作業的進度:
  1. 呼叫 IProgressDialog::StartProgressDialog 以顯示對話方塊。
  2. 將數值指派給作業將執行的工作總數。 使用任何數位,可讓您輕鬆地定義作業的進度。 例如,如果您想要根據已完成的百分比指定作業進度,請將此值設定為 100。
  3. 呼叫 IProgressDialog::Timer 以重設定時器。 這個方法會設定進度對話框對象用來估計作業剩餘時間的起點。 如果您未呼叫這個方法,起點將會是 StartProgressDialog 的呼叫。
  4. 當作業進行時,請定期呼叫 IProgressDialog::SetProgress 來更新對話方塊,以更新已完成多少作業。 進度對話框物件會更新其進度列,並重新計算其剩餘時間的估計值。 您可以使用任何方便的進度數值量值。 不過,如果您想要使用大於 4 GB 的值 (GB) ,您必須呼叫 IProgressDialog::SetProgress64 ,而不是 IProgressDialog::SetProgress
  5. 如果使用者按下 [ 取消 ] 按鈕以取消作業,您的應用程式就不會收到通知。 當作業進行時,請定期呼叫 IProgressDialog::HasUserCancelled ,以查看使用者是否已按兩下 [ 取消] 按鈕。 每次應用程式呼叫 IProgressDialog::SetProgressIProgressDialog::SetProgress64 時,通常會呼叫此方法。
  6. 對話框會顯示三行文字。 應用程式可以定期呼叫 IProgressDialog::SetLine ,以顯示這其中一行的訊息。 這個方法通常用來提供作業目前狀態的相關信息。 一般訊息類似:「目前處理專案 XXX...」。 訊息通常會顯示在第 1 行和第 2 行上。 只有在未指示進度對話框物件在IProgressDialog::StartProgressDialogdwFlags 參數中設定 PROGDLG_AUTOTIME 旗標,才能在第 3 行上顯示訊息。 在此情況下,會使用第三個文字行來顯示估計的時間。
工作完成時:
  1. 呼叫 IProgressDialog::StopProgressDialog 以關閉對話方塊。
  2. 釋放進度對話框物件。

規格需求

需求
最低支援的用戶端 Windows 2000 專業版、Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平台 Windows
標頭 shlobj_core.h