IOperationsProgressDialog::StartProgressDialog 方法 (shobjidl_core.h)
启动指定的进度对话框。
语法
HRESULT StartProgressDialog(
[in] HWND hwndOwner,
[in] OPPROGDLGF flags
);
参数
[in] hwndOwner
类型:HWND
父窗口的句柄。
[in] flags
类型:DWORD
自定义操作的标志。 请注意,这些标志在 Shlobj.h 中声明。 以下值的组合:
PROGDLG_NORMAL (0x00000000)
默认的正常进度对话框行为。
PROGDLG_MODAL (0x00000001)
对话框是其 hwndOwner 的模式。 默认设置为无模式。
PROGDLG_AUTOTIME (0x00000002)
使用剩余时间更新“Line3”文本。 无需隐式设置此标志,因为 IOperationsProgressDialog::StartProgressDialog 启动的进度对话框会自动显示剩余时间。
PROGDLG_NOTIME (0x00000004)
不显示剩余时间。 我们不建议通过 IOperationsProgressDialog 设置此标志,因为这与对话框的用途相反。
PROGDLG_NOMINIMIZE (0x00000008)
不显示最小化按钮。
PROGDLG_NOPROGRESSBAR (0x00000010)
不显示进度栏。
PROGDLG_MARQUEEPROGRESS (0x00000020)
此标志在此方法中无效。 若要将进度栏设置为选框模式,请使用 IOperationsProgressDialog::SetMode 中的标志。
PROGDLG_NOCANCEL (0x00000040)
由于无法取消操作,因此不显示取消按钮。 仅当绝对必要时才使用此值。
OPPROGDLG_DEFAULT (0x00000000)
Windows 7 及更高版本。 指示默认的正常操作进度对话框行为。
OPPROGDLG_ENABLEPAUSE (0x00000080)
显示暂停按钮。 仅在可以暂停操作的情况下使用此方法。
OPPROGDLG_ALLOWUNDO (0x00000100)
可以通过对话框撤消操作。 “ 停止 ”按钮变为 “撤消”。 如果按下,“ 撤消 ”按钮将恢复为 “停止”。
OPPROGDLG_DONTDISPLAYSOURCEPATH (0x00000200)
不要在进度对话框中显示源文件的路径。
OPPROGDLG_DONTDISPLAYDESTPATH (0x00000400)
不要在进度对话框中显示目标文件的路径。
OPPROGDLG_NOMULTIDAYESTIMATES (0x00000800)
Windows 7 及更高版本。 如果估计完成时间大于一天,则不显示时间。
OPPROGDLG_DONTDISPLAYLOCATIONS (0x00001000)
Windows 7 及更高版本。 不要在进度对话框中显示位置行。
返回值
类型: HRESULT
如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。
注解
进度对话框应在与报告对话的文件操作不同的线程上创建。 如果对话框在文件操作所在的同一线程中运行,则进度消息充其量只能在资源允许的情况下发送。 与文件操作相同的线程上的进度消息可能根本不发送。
调用 IOperationsProgressDialog::StartProgressDialog 后,IProgressDialog、IActionProgressDialog 或 IActionProgress 无法访问 CLSID_ProgressDialog 对象的实例。 尽管 QueryInterface 可用于访问这些接口,但无法调用其大多数方法。 IOperationsProgressDialog 是用于显示 Windows Vista 和更高版本操作引擎的新进度对话框的接口。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | Windows |
标头 | shobjidl_core.h (包括 Shobjidl.h) |