IOleInPlaceObject::SetObjectRects 方法 (oleidl.h)
指定要可见的就地对象的数量。
语法
HRESULT SetObjectRects(
[in] LPCRECT lprcPosRect,
[in] LPCRECT lprcClipRect
);
参数
[in] lprcPosRect
指向 RECT 结构的指针,其中包含使用其父窗口的客户端坐标的就地对象的位置。
[in] lprcClipRect
指向包含就地对象位置矩形 (lprcPosRect) 的外部矩形的指针。 该矩形相对于此对象的父窗口的工作区。
返回值
此方法在成功时返回S_OK。 其他可能的返回值包括以下内容。
返回代码 | 说明 |
---|---|
|
指定的指针无效。 |
|
可用于操作的内存不足。 |
|
发生意外错误。 |
注解
lprcClipRect 可以在不更改 lprcPosRect 的情况下进行更改。
就地对象的矩形大小始终以像素为单位计算。 这不同于 HIMETRIC 中其他 OLE 对象的可视化效果。
注意 在执行 IOleInPlaceObject::SetObjectRects 时,不要调用 PeekMessage 或 GetMessage 函数或对话框。 这样做可能会导致系统死锁。 从 IOleInPlaceObject::SetObjectRects 中调用 OLE 接口方法和函数还有进一步的限制。
给调用方的说明
每当就地对象的窗口位置和/或就地对象的可见部分发生更改时,容器都应调用 IOleInPlaceObject::SetObjectRects 。实施者说明
对象必须调整其就地窗口的大小,以匹配 lprcPosRect 和 lprcClipRect 的交集。 对象还必须将其内容绘制到对象的就地窗口中,以便进行适当的剪辑。对象应将其宽度和高度与其容器提供的宽度和高度进行比较, (通过 lprcPosRect) 传递。 如果比较不会导致匹配,则容器将缩放应用于 对象。 然后,对象必须决定是应在缩放/缩放模式下继续就地编辑,还是停用。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | oleidl.h |