IOleObject::GetExtent 方法 (oleidl.h)
检索正在运行的 对象的当前显示大小。
语法
HRESULT GetExtent(
[in] DWORD dwDrawAspect,
[out] SIZEL *psizel
);
参数
[in] dwDrawAspect
要检索其限制的 对象的方面;值是从枚举 DVASPECT 和 DVASPECT2获取的。 请注意,支持优化绘图接口的较新的对象和容器支持 DVASPECT2 枚举值。 不支持优化绘图接口的旧对象和容器可能不支持 DVASPECT2。 此方法最常见的值是 DVASPECT_CONTENT,它指定对象在其容器中的完整呈现。
[out] psizel
一个指针,指向对象的大小要返回到的位置。
返回值
此方法在成功时返回S_OK。 其他可能的返回值包括以下内容。
返回代码 | 说明 |
---|---|
|
提供的 dwDrawAspect 值无效。 |
注解
容器调用正在运行的对象上的 IOleObject::GetExtent 来检索其当前显示大小。 如果容器可以容纳该大小,它通常会这样做,因为对象毕竟知道它应该比容器更好的大小。 容器通常会在初始化对象时进行此调用。
IOleObject::GetExtent 返回的显示大小可能与上次由 IOleObject::SetExtent 设置的大小不同,因为后一种方法在调用方法时指示对象的显示空间,但不一定更改对象的本机大小(由其应用程序确定)。
如果在 dwAspect 中请求了其中一个新方面,则此方法可能会失败或返回与DVASPECT_CONTENT方面相同的矩形。
注意 对于DVASPECT2中的所有新方面,此方法必须返回与 DVASPECT_CONTENT 相同的大小。 IViewObject2::GetExtent 必须执行相同操作。
给调用方的说明
由于容器只能对正在运行的对象进行此调用,因此如果容器想要从其缓存中获取已加载对象的显示大小,则必须改为调用 IViewObject2::GetExtent 。实施者说明
实现包括用对象的高度和宽度填充 sizel 结构。要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | oleidl.h |