IOleInPlaceSite::GetWindowContext 方法 (oleidl.h)

使就地对象能够检索构成窗口对象层次结构的窗口接口,以及对象就地激活窗口应位于父窗口中的位置。

语法

HRESULT GetWindowContext(
  [out]     IOleInPlaceFrame      **ppFrame,
  [out]     IOleInPlaceUIWindow   **ppDoc,
  [out]     LPRECT                lprcPosRect,
  [out]     LPRECT                lprcClipRect,
  [in, out] LPOLEINPLACEFRAMEINFO lpFrameInfo
);

parameters

[out] ppFrame

指向 IOleInPlaceFrame 指针变量的指针,该变量接收指向帧的接口指针。 如果发生错误,实现必须将 ppFrame 设置为 NULL

[out] ppDoc

指向 IOleInPlaceUIWindow 指针变量的指针,该变量接收指向文档窗口的接口指针。 如果文档窗口与框架窗口相同, 则 ppDoc 设置为 NULL。 在这种情况下, 对象只能使用 ppFrame 或边框协商。 如果返回错误,则实现必须将 ppDoc 设置为 NULL

[out] lprcPosRect

指向矩形 的 RECT 结构的指针,该矩形包含就地对象在其父窗口的客户端坐标中的位置。 如果返回错误,则此参数必须设置为 NULL

[out] lprcClipRect

指向包含就地对象位置矩形的外部矩形的 RECT 结构的指针 (lprcPosRect) 。 该矩形相对于此对象的父窗口的工作区。 如果返回错误,则此参数必须设置为 NULL

[in, out] lpFrameInfo

指向容器要填充相应数据的 OLEINPLACEFRAMEINFO 结构的指针。 如果返回错误,则此参数必须设置为 NULL

返回值

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

返回代码 说明
E_INVALIDARG
提供的一个或多个指针无效。
E_UNEXPECTED
发生意外错误。

注解

OLEINPLACEFRAMEINFO 结构提供 OLE 在对象处于活动状态时将击键加速器调度到容器帧所需的数据。

激活对象时,它会从其容器调用 GetWindowContext 。 容器通过 OLEINPLACEFRAMEINFO 结构返回其就地加速器表的句柄。 在调用 GetWindowContext 之前,对象必须通过填充 lpFrameInfo 指向的 cb 成员来提供 OLEINPLACEFRAMEINFO 结构的大小。

要求

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

请参阅

IOleInPlaceSite