IOleInPlaceUIWindow::SetActiveObject 方法 (oleidl.h)

提供对象与每个框架和文档窗口之间的直接通信通道。

语法

HRESULT SetActiveObject(
  [in] IOleInPlaceActiveObject *pActiveObject,
  [in] LPCOLESTR               pszObjName
);

参数

[in] pActiveObject

指向活动就地对象上的 IOleInPlaceActiveObject 接口的指针。

[in] pszObjName

指向包含名称的字符串的指针,该名称描述嵌入容器在撰写其窗口标题时可以使用的对象。 如果对象不需要容器更改其窗口标题,则它可以为 NULL 。 容器应忽略此参数,并始终在标题栏中使用自己的名称。

返回值

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

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

注解

通常,嵌入对象应为 pszObjName 参数传递 NULL, (请参阅下面的) 的实现者说明。 但是,如果与在标题栏中显示就地活动对象名称的容器结合使用,则应采用以下格式编写字符串: <应用程序名称> – <对象短类型名称>。

给调用方的说明

对象调用 IOleInPlaceUIWindow::SetActiveObject ,以在自身与文档和框架窗口之间建立直接通信链接。

停用时,对象调用 IOleInPlaceUIWindow::SetActiveObject,为 pActiveObject 和 pszObjName 参数传递 NULL

在调用 IOleInPlaceFrame::SetMenu 之前,对象必须调用 IOleInPlaceUIWindow:: SetActiveObject,以便为容器提供指向活动对象的指针。 然后,容器使用此指针来处理 IOleInPlaceFrame::SetMenu 并传递给 OleSetMenuDescriptor

实施者说明

Microsoft Windows 用户界面设计指南建议就地容器忽略此方法中传递的 pszObjName 参数。 指南说:“标题栏不受就地激活的影响。 它始终显示顶级容器的名称。”

要求

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

另请参阅

IOleInPlaceFrame::SetMenu

IOleInPlaceUIWindow

OleSetMenuDescriptor