IOleInPlaceObject::UIDeactivate 方法 (oleidl.h)

停用并删除活动就地对象的用户界面。

语法

HRESULT UIDeactivate();

返回值

此方法在成功时返回S_OK。 其他可能的返回值包括以下内容。

返回代码 说明
E_UNEXPECTED
发生意外错误。

注解

调用方备注

例如,当用户在对象外部的工作区中单击时,对象的直接容器会调用此方法。

如果容器已调用 IOleInPlaceObject::UIDeactivate,则稍后应调用 IOleInPlaceObject::InPlaceDeactivate 以正确清理资源。 容器可以假定停止或释放对象会在必要时清理资源。 如果尚未调用 IOleInPlaceObject::InPlaceDeactivate ,则对象必须准备好执行此操作。 但已调用 IOleInPlaceObject::UIDeactivateIOleObject::Close

实施者说明

菜单和窗口等资源可以清理或保持隐藏状态,直到通过调用 IOleInPlaceObject::InPlaceDeactivateIOleObject::Close 完全停用对象。 对象应用程序在使用复合菜单执行任何操作之前,必须调用 IOleInPlaceSite::OnUIDeactivate ,以便可以先从框架窗口分离容器。 停用就地对象的用户界面时,对象将保持就绪状态,以便可以快速重新激活。 对象一直处于此状态,直到文档的撤消状态更改。 然后,容器应调用 IOleInPlaceObject::InPlaceDeactivate 来告知对象放弃其撤消状态。

要求

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

另请参阅

IOleInPlaceObject

IOleInPlaceObject::InPlaceDeactivate

IOleInPlaceObject::ReactivateAndUndo

IOleInPlaceSite::OnUIDeactivate

IOleObject::Close