Поделиться через


Интерфейс IActionProgress (shobjidl_core.h)

Представляет абстрактный базовый класс, от которого могут наследовать операции, управляемые ходом выполнения.

Наследование

Интерфейс IActionProgress наследуется от интерфейса IUnknown . IActionProgress также имеет следующие типы элементов:

Методы

Интерфейс IActionProgress содержит следующие методы.

 
IActionProgress::Begin

Вызывается, когда началось действие, требующее отображения хода выполнения пользователю.
IActionProgress::End

Указывает, что действие, связанное с этой реализацией хода выполнения, завершено.
IActionProgress::QueryCancel

Предоставляет сведения об отмене действия.
IActionProgress::ResetCancel

Сбрасывает диалоговое окно хода выполнения после завершения отмены.
IActionProgress::UpdateProgress

Обновления ход выполнения действия в пользовательский интерфейс.
IActionProgress::UpdateText

Вызывается, если описательный текст, связанный с действием, будет изменен.

Комментарии

Этот класс является абстрактным классом, экземпляр которого не может быть создан. Она предоставляет платформу, которую производные классы могут использовать для реализации обратного вызова хода выполнения. Этот обратный вызов может использоваться приложениями для передачи данных о ходе выполнения действий в пользовательский интерфейс. Здесь "Действия" относится к операциям, которые могут занять значительное количество времени, например скачивание или копирование файлов, и во время которых будет уместно видимое указание хода выполнения.

Приложения обычно не реализуют этот интерфейс. Большая часть функциональных возможностей, с которыми пользователи взаимодействуют во время действий, предоставляется классом CProgressDialog (CLSID_ProgressDialog), который реализует IActionProgress и отображает ход выполнения в диалоговом окне. Если требуется решение, требующее механизма, отличного от диалогового окна, можно использовать IActionProgress для предоставления базовых функциональных возможностей индикаторов хода выполнения.

После реализации классы должны вызывать IActionProgress::Begin при запуске действия. Периодически следует вызывать IActionProgress::UpdateProgress , чтобы обновить пользовательский интерфейс с информацией о ходе выполнения, а подробные текстовые сведения должны передаваться в пользовательский интерфейс путем вызова IActionProgress::UpdateText. Для обработки запросов отмены следует вызывать IActionProgress::QueryCancel и IActionProgress::ResetCancel. После завершения операции необходимо вызвать метод IActionProgress::End .

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header shobjidl_core.h (включая Shobjidl.h)

См. также раздел

IProgressDialog