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。 其他可能的返回值包括以下内容。
返回代码 | 说明 |
---|---|
|
提供的一个或多个指针无效。 |
|
发生意外错误。 |
注解
OLEINPLACEFRAMEINFO 结构提供 OLE 在对象处于活动状态时将击键加速器调度到容器帧所需的数据。
激活对象时,它会从其容器调用 GetWindowContext 。 容器通过 OLEINPLACEFRAMEINFO 结构返回其就地加速器表的句柄。 在调用 GetWindowContext 之前,对象必须通过填充 lpFrameInfo 指向的 cb 成员来提供 OLEINPLACEFRAMEINFO 结构的大小。
要求
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | oleidl.h |