IViewObject::Freeze 方法 (oleidl.h)

冻结对象的绘制表示形式,使其在调用 IViewObject::Unfreeze 方法之前不会更改。 此方法最常见的用途是用于带状打印。

语法

HRESULT Freeze(
  [in]  DWORD dwDrawAspect,
  [in]  LONG  lindex,
  [in]  void  *pvAspect,
  [out] DWORD *pdwFreeze
);

参数

[in] dwDrawAspect

指定要如何表示该对象。 表示形式包括内容、图标、缩略图或打印的文档。 有效值取自枚举 DVASPECT。 有关详细信息,请参阅 DVASPECT 枚举。

[in] lindex

与绘制操作有关的对象部分。 其解释因 dwAspect 而异。 有关详细信息,请参阅 DVASPECT 枚举。

[in] pvAspect

指向有关 dwAspect 中指定的对象的视图的其他信息的指针。 由于当前方面均不支持其他信息, 因此 pvAspect 必须始终为 NULL

[out] pdwFreeze

指向返回标识 DWORD 密钥的指针。 此唯一键稍后通过调用 IViewObject::Unfreeze 来取消冻结。 此键是默认缓存用于跟踪冻结的对象的索引。

返回值

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

返回代码 说明
VIEW_S_ALREADY_FROZEN
演示文稿已被冻结。 pdwFreeze 的值是已冻结对象的标识键。
OLE_E_BLANK
演示文稿不在缓存中。
DV_E_LINDEX
lindex 的值无效;目前;仅支持 -1。
DV_E_DVASPECT
dwAspect 的值无效。

注解

IViewObject::Freeze 方法会导致视图对象冻结其绘制的表示形式,直到对 IViewObject::Unfreeze 的后续调用释放它。 调用 IViewObject::Freeze 后,连续调用具有相同参数 的 IViewObject::D raw 将生成相同的图片,直到调用 IViewObject::Unfreeze 为止。

IViewObject::Freeze 不是对象的持久状态的一部分,并且不会在对象的卸载和重载之间继续。

此方法最常见的用途是用于带状打印。

处于冻结状态时,不会发送视图通知。 挂起的视图通知将延迟到对 IViewObject::Unfreeze 的后续调用。

要求

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

另请参阅

DVASPECT

IViewObject

IViewObject::Unfreeze