IOleObject::GetExtent 方法 (oleidl.h)

检索正在运行的 对象的当前显示大小。

语法

HRESULT GetExtent(
  [in]  DWORD dwDrawAspect,
  [out] SIZEL *psizel
);

参数

[in] dwDrawAspect

要检索其限制的 对象的方面;值是从枚举 DVASPECTDVASPECT2获取的。 请注意,支持优化绘图接口的较新的对象和容器支持 DVASPECT2 枚举值。 不支持优化绘图接口的旧对象和容器可能不支持 DVASPECT2。 此方法最常见的值是 DVASPECT_CONTENT,它指定对象在其容器中的完整呈现。

[out] psizel

一个指针,指向对象的大小要返回到的位置。

返回值

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

返回代码 说明
E_INVALIDARG
提供的 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

另请参阅

DVASPECT

DVASPECT2

IOleObject

IOleObject::GetExtent

IOleObject::SetExtent