ExtSelectClipRgn功能通过使用指定的模式将指定的区域与当前的剪切区域进行组合。
int ExtSelectClipRgn(
HDC 【HDC】, | //处理设备上下文 |
HRGN 【HRGN】, | //处理区域 |
INT 【fnMode】 | //区域选择模式 |
); |
参数
【HDC】
标识设备上下文。
【HRGN】
标识要选择的区域。当指定RGN_COPY模式时,此句柄只能为NULL。
【fnMode】
指定要执行的操作。它必须是以下值之一:
值 | 含义 |
RGN_AND | 新剪辑区域组合了当前剪辑区域的重叠区域和由【HRGN】标识的区域。 |
RGN_COPY | 新剪辑区域是由【HRGN】标识的区域的副本。这与SelectClipRgn相同。如果由【HRGN】标识的区域为NULL,则新的剪切区域是默认剪切区域(默认剪切区域为空区域)。 |
RGN_DIFF | 新的剪辑区域将当前剪辑区域的区域与从【HRGN】标识的区域中排除的区域相结合。 |
RGN_OR | 新的剪辑区域结合了当前剪辑区域和由【HRGN】标识的区域。 |
RGN_XOR | 新剪辑区域结合了当前剪辑区域和【HRGN】标识的区域,但不包括任何重叠区域。 |
返回值
如果函数成功,则返回值指定新的裁剪区域的复杂度,并且可以是以下值之一:
值 | 含义 |
NULLREGION | 区域是空的 |
SIMPLEREGION | 区域是单个矩形。 |
COMPLEXREGION | 区域是多个矩形。 |
ERROR | 发生错误 |
备注
如果调用此函数时发生错误,则不会影响指定设备上下文的上一个剪裁区域。
ExtSelectClipRgn函数假设指定区域的坐标以设备单位指定。
仅使用由【HRGN】参数标识的区域的副本。该地区本身可以在此呼叫后重用,也可以删除。
也可以看看