IOleUndoUnit::D o 方法 (ocidl.h)
指示撤消单元执行其操作。 请注意,如果它包含子撤消单位,则它还必须调用其 Do 方法。
语法
HRESULT Do(
[in] IOleUndoManager *pUndoManager
);
参数
[in] pUndoManager
指向撤消管理器的指针。 请参阅 IOleUndoManager。
返回值
此方法在成功时返回S_OK。
注解
撤消单位负责执行其操作。 执行自己的撤消操作会导致另一个可能撤消的操作。 但是,如果 pUndoManager 为 NULL,则撤消单元应执行其撤消操作,但不应尝试在重做或撤消堆栈上放置任何内容。
如果 pUndoManager 不为 NULL,则需要将相应的单位放在恢复堆栈或撤消堆栈上。 因此,此方法要么将自身移动到重做或撤消堆栈,要么创建一个新的撤消单元并将其添加到相应的堆栈。 创建新的撤消单元后,此撤消单元将调用 IOleUndoManager::Open 或 IOleUndoManager::Add。 撤消管理器将新的撤消单元放在撤消或重做堆栈上,具体取决于其当前状态。
父单元必须将提供给父单元的同一撤消管理器(可能为 NULL)传递给其子级。 当 pUndoManager 为 NULL 时,可以打开重做或撤消堆栈上的父单元(只要未提交)。 阻止的父单元可确保子单元不会向堆栈添加任何内容。
如果此撤消单元是父单元,则在其子级上调用 Do 方法之前,它应将自己置于重做或撤消堆栈上。
调用此方法后,撤消管理器必须释放撤消单元。
实施者说明
有关撤消单元的错误处理策略,请参阅 IOleUndoManager 接口。 错误处理策略会影响此方法的实现,尤其是对于父单元。要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | ocidl.h |