Метод 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 доступ к экземпляру объекта CLSID_ProgressDialog будет невозможен с помощью IProgressDialog, IActionProgressDialog или IActionProgress. Хотя для доступа к этим интерфейсам можно использовать QueryInterface , большинство их методов нельзя вызвать. IOperationsProgressDialog — это интерфейс, используемый для отображения нового диалогового окна хода выполнения для операционной системы Windows Vista и более поздних версий.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Целевая платформа | Windows |
Header | shobjidl_core.h (включая Shobjidl.h) |