剪辑区域

剪裁区域是应用程序可以选择到设备上下文中的图形对象之一, (DC) 。 它通常是矩形的。 某些设备上下文提供预定义的或默认的剪辑区域,而另一些则不提供。 例如,如果从 BeginPaint 函数获取设备上下文句柄,则 DC 包含与需要重新绘制的无效矩形相对应的预定义矩形剪裁区域。 但是,通过调用具有 NULLhWnd 参数的 GetDC 函数或通过调用 CreateDC 函数来获取设备上下文句柄时,DC 不包含默认剪辑区域。 有关 BeginPaint 函数返回的设备上下文的详细信息,请参阅 绘制和绘制 。 有关 CreateDCGetDC 函数返回的设备上下文的详细信息,请参阅 设备上下文

应用程序可以对剪裁区域执行各种操作。 其中一些操作需要标识区域的句柄,而有些则不需要。 例如,应用程序可以直接对设备上下文的剪辑区域执行以下操作。

  • 通过将相应线条、弧线、位图、文本或填充形状的坐标传递给 PtVisible 函数,确定图形输出是否显示在区域的边框内。
  • 通过调用 RectVisible 函数确定工作区的一部分是否与区域相交。
  • 通过调用 OffsetClipRgn 函数按指定偏移量移动现有区域。
  • 通过调用 ExcludeClipRect 函数,从当前剪辑区域中排除工作区的矩形部分。
  • 通过调用 IntersectClipRect 函数,将工作区的矩形部分与当前剪辑区域合并。

获取标识剪辑区域的句柄后,应用程序可以执行区域通用的任何操作,例如:

  • 通过调用 CombineRgn 函数将当前剪辑区域的副本与第二个区域组合在一起。
  • 通过调用 EqualRgn 函数将当前剪辑区域的副本与第二个区域进行比较。
  • 通过调用 PtInRegion 函数,确定某个点是否位于当前剪辑区域副本的内部。