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 将进度对话框计时器重置为零。 |
注解
进度对话框对象创建一个无模式对话框,并允许客户端设置其标题、动画、文本行和进度栏。 然后, 对象处理后台线程上的更新,并允许用户取消操作。 (可选)它会估计操作完成之前的剩余时间,并将信息显示为一行文本。
应用程序通常不实现此接口。 它由进度对话框对象导出,供应用程序使用。
当应用程序需要显示进度对话框时,请使用此接口。 初始化 对象:
- 使用 CoCreateInstance (CLSID_ProgressDialog) 创建进程内进度对话框对象。 请求指向其 IProgressDialog 接口的指针 (IID_IProgressDialog) 。
- 调用 IProgressDialog::SetTitle 以指定对话框标题。
- 调用 IProgressDialog::SetAnimation 以指定要在操作进行时播放的 AVI 剪辑。
- 调用 IProgressDialog::SetCancelMsg 以指定在用户取消操作时将显示的消息。
- 调用 IProgressDialog::StartProgressDialog 以显示对话框。
- 为操作将执行的工时总量分配数值。 使用任何允许你方便地定义操作进度的数字。 例如,如果要根据已完成的百分比指定操作进度,请将此值设置为 100。
- 调用 IProgressDialog::Timer 重置计时器。 此方法设置进度对话框对象用于估计操作剩余时间的起点。 如果不调用此方法,则起点将是对 StartProgressDialog 的调用。
- 随着操作的进行,请定期调用 IProgressDialog::SetProgress ,以将对话框更新为已完成的操作量。 进度对话框对象将更新其进度栏并重新计算其剩余时间的估计值。 可以使用任何方便的进度数字度量值。 但是,如果要使用大于 4 GB (GB) 的值,则必须调用 IProgressDialog::SetProgress64 而不是 IProgressDialog::SetProgress。
- 如果用户单击“ 取消 ”按钮来取消操作,则应用程序不会收到通知。 随着操作的进行,定期调用 IProgressDialog::HasUserCancelled 以查看用户是否已单击“ 取消 ”按钮。 应用程序通常在每次调用 IProgressDialog::SetProgress 或 IProgressDialog::SetProgress64 时调用此方法。
- 对话框显示三行文本。 应用程序可以定期调用 IProgressDialog::SetLine ,以在这些行之一上显示消息。 此方法通常用于提供有关操作的当前状态的信息。 典型的消息类似于:“当前正在处理项 XXX...”。 消息通常显示在第 1 行和第 2 行上。 仅当未指示进度对话框对象通过在 IProgressDialog::StartProgressDialog 的 dwFlags 参数中设置PROGDLG_AUTOTIME标志来估计剩余时间时,才可在第 3 行显示消息。 在这种情况下,第三个文本行用于显示估计时间。
- 调用 IProgressDialog::StopProgressDialog 关闭对话框。
- 释放进度对话框对象。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 专业版、Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | shlobj_core.h |