IActionProgress interface (shobjidl_core.h)
Represents the abstract base class from which progress-driven operations can inherit.
Inheritance
The IActionProgress interface inherits from the IUnknown interface. IActionProgress also has these types of members:
Methods
The IActionProgress interface has these methods.
IActionProgress::Begin Called when an action has begun that requires its progress be displayed to the user. |
IActionProgress::End Indicates that the action associated with this progress implementation has ended. |
IActionProgress::QueryCancel Provides information about whether the action is being canceled. |
IActionProgress::ResetCancel Resets progress dialog after a cancellation has been completed. |
IActionProgress::UpdateProgress Updates the progress of an action to the UI. |
IActionProgress::UpdateText Called if descriptive text associated with the action will be changed. |
Remarks
This class is an abstract class that may not be instantiated. It provides a framework that derived classes can use to implement a progress callback. This callback can be used by applications to report progress of actions to the UI. Here, "Actions" refers to operations that may take a significant amount of time, such as downloading or copying files, and during which a visible progress indication would be appropriate.
Applications typically do not implement this interface. Much of the functionality that users interact with during actions is provided by the CProgressDialog class (CLSID_ProgressDialog) that implements IActionProgress and displays progress in a dialog box. If a solution requiring a mechanism other than a dialog box is required, IActionProgress can be used to provide basic progress indicator functionality.
Once implemented, classes should call IActionProgress::Begin when an action is started. Periodically, IActionProgress::UpdateProgress should be called to update the UI with progress information, and detailed textual information should be conveyed to the UI by calling IActionProgress::UpdateText. IActionProgress::QueryCancel and IActionProgress::ResetCancel should be called to handle cancellation requests. Once the operation ends, IActionProgress::End should be called.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows XP [desktop apps only] |
Minimum supported server | Windows Server 2003 [desktop apps only] |
Target Platform | Windows |
Header | shobjidl_core.h (include Shobjidl.h) |