IOleInPlaceObject::UIDeactivate 方法 (oleidl.h)
停用并删除活动就地对象的用户界面。
语法
HRESULT UIDeactivate();
返回值
此方法在成功时返回S_OK。 其他可能的返回值包括以下内容。
返回代码 | 说明 |
---|---|
|
发生意外错误。 |
注解
调用方备注
例如,当用户在对象外部的工作区中单击时,对象的直接容器会调用此方法。如果容器已调用 IOleInPlaceObject::UIDeactivate,则稍后应调用 IOleInPlaceObject::InPlaceDeactivate 以正确清理资源。 容器可以假定停止或释放对象会在必要时清理资源。 如果尚未调用 IOleInPlaceObject::InPlaceDeactivate ,则对象必须准备好执行此操作。 但已调用 IOleInPlaceObject::UIDeactivate 或 IOleObject::Close 。
实施者说明
菜单和窗口等资源可以清理或保持隐藏状态,直到通过调用 IOleInPlaceObject::InPlaceDeactivate 或 IOleObject::Close 完全停用对象。 对象应用程序在使用复合菜单执行任何操作之前,必须调用 IOleInPlaceSite::OnUIDeactivate ,以便可以先从框架窗口分离容器。 停用就地对象的用户界面时,对象将保持就绪状态,以便可以快速重新激活。 对象一直处于此状态,直到文档的撤消状态更改。 然后,容器应调用 IOleInPlaceObject::InPlaceDeactivate 来告知对象放弃其撤消状态。要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | oleidl.h |
另请参阅
IOleInPlaceObject::InPlaceDeactivate
IOleInPlaceObject::ReactivateAndUndo