IDCompositionVisual::SetClip (IDCompositionClip*) 方法 (dcomp.h)

将此视觉对象的 Clip 属性设置为指定的剪辑对象。 Clip 属性将根位于此视觉对象的视觉对象子树的呈现限制为矩形区域。

语法

HRESULT SetClip(
  [in, optional] IDCompositionClip *clip
);

参数

[in, optional] clip

类型: IDCompositionClip*

要与此视觉对象关联的剪辑对象。 此参数可以为 NULL。 IDCompositionRectangleClip 的所有浮点属性的数值限制为 -2^21 到 2^21。 API 接受此范围之外的数字,但它们始终被固定到此范围。

返回值

类型: HRESULT

如果函数成功,则返回S_OK。 否则,将返回 HRESULT 错误代码。 有关错误代码列表,请参阅 DirectComposition 错误代码。

备注

设置 Clip 属性会剪辑此视觉对象以及根植于此视觉对象的子树中的所有视觉对象。 剪辑由 OffsetX、OffsetY 和 Transform 属性转换。

如果 Clip 属性以前指定了剪辑矩形,则新指定的 Clip 对象将替换剪辑矩形。

如果 剪辑 是无效的指针,或者不是由创建此视觉对象的同一 IDCompositionDevice 接口创建的,则此方法失败。 接口不能是自定义实现;只有 Microsoft DirectComposition 创建的接口才能与此方法一起使用。

如果 剪辑 为 NULL,则视觉对象不会相对于其父项进行剪裁。 但是,视觉对象由父视觉对象的剪辑对象或具有剪辑对象的最近上级视觉对象进行剪辑。 将 剪辑 设置为 NULL 类似于指定剪辑对象,其剪辑矩形的左边和上边设置为负无穷大,右侧和底部边设置为正无穷大。 使用 NULL 剪辑对象可稍微提高性能。

如果 clip 指定了具有空矩形的剪辑对象,则视觉对象将完全剪裁;也就是说,视觉对象包含在可视化树中,但它不呈现任何内容。 若要从合成中排除特定视觉对象,请从可视化树中删除该视觉对象,而不是设置空剪辑矩形。 删除视觉对象可提高性能。

要求

   
最低受支持的客户端 Windows 8 [仅限桌面应用]
最低受支持的服务器 Windows Server 2012 [仅限桌面应用]
目标平台 Windows
标头 dcomp.h
Library Dcomp.lib
DLL Dcomp.dll

另请参阅

剪裁

IDCompositionRectangleClip

IDCompositionVisual