释义 |
CRgn::CombineRgn
int CombineRgn( CRgn* pRgn1, CRgn* pRgn2, int nCombineMode );
返回值: 返回最后结果区域的类型。它可以是下列值之一:· | COMPLEXREGION | 新区域具有相互重叠的边界。 | · | ERROR | 未创建新区域。 | · | NULLREGION | 新区域为空。 | · | SIMPLEREGION | 新区域没有相互重叠的边界。 |
参数:pRgn1 | 表示一个已经存在的区域。 | pRgn2 | 表示一个已经存在的区域。 | nCombineMode | 指定当组合两个源区域时要执行的操作。它可以是下列值之一:· | RGN_AND | 使用两个区域互相重叠的区域(相交区域)。 | · | RGN_COPY | 创建区域1(由pRgn1标识)的一个拷贝 | · | RGN_DIEF | 创建一个区域,该区域由区域1(由pRgn1标识)的不是区域2(由pRgn2标识)的那一部分区域组成。 | · | RGN_OR | 组合两个区域的整个部分(两个区域的并)。 | · | RGN_XOR | 组合两个区域,但去掉相互重叠的区域。 |
|
说明: 此成员函数通过组合两个已有的区域来创建一个新的GDI区域。所组合成的区域就像nCombineMode所指定的一样。 两个指定的区域被组合,所得到的结果区域的句柄被保存在CRgn对象中。因此,不管CRgn中原来保存的区域是什么,都将被合并后的区域所代替。 区域的大小被限制在32767×32767个逻辑单位和64K内存这两个值中较小的那个值的范围内。 使用CopyRgn只是简单地将一个区域拷贝到另一个区域。
请参阅:CRgn::CopyRgn, ::CombineRgn |