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