IOleUndoUnit 接口 (ocidl.h)

用作撤消单元上的main接口。 撤消单元封装撤消或恢复单个操作所需的信息。

当对象的状态发生更改并且需要创建撤消单元时,它首先需要知道哪些父单元处于打开状态。 它调用 IOleUndoManager::GetOpenParentState 方法来确定这一点。 如果调用返回S_FALSE,则没有启用父级。 如果调用返回S_OK但设置了UAS_NOPARENTENABLE标志,则打开的父级是禁用父级。 在上述任一情况下,对象在撤消管理器上调用 IOleUndoManager::D iscardFrom (NULL) ,并跳过创建撤消单元。

如果方法返回S_OK,但设置了UAS_BLOCKED标志,则打开的父级是阻止父级。 对象不需要创建撤消单元,因为它会立即被丢弃。 如果返回值为S_OK且两个位标志均未设置,则对象将创建撤消单元,并在撤消管理器上调用 IOleUndoManager::Add

对象应保留指向撤消管理器的指针。

继承

IOleUndoUnit 接口继承自 IUnknown 接口。 IOleUndoUnit 还具有以下类型的成员:

方法

IOleUndoUnit 接口包含以下方法。

 
IOleUndoUnit::D o

指示撤消单元执行其操作。 请注意,如果它包含子撤消单位,则它还必须调用其 Do 方法。
IOleUndoUnit::GetDescription

检索可在撤消或重做用户界面中使用的撤消单元的说明。
IOleUndoUnit::GetUnitType

检索撤消单元的 CLSID 和类型标识符。
IOleUndoUnit::OnNextAdd

通知集合中的最后一个撤消单元已添加新单元。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 ocidl.h

另请参阅

IOleParentUndoUnit

IOleUndoManager