CDC::SelectClipRgn

virtual int SelectClipRgn(CRgn* pRgn);
int SelectClipRgn(CRgn* pRgn,int nMode);

返回值:区域类型,可为下列值之一:
·COMPLEXREGION剪切区有覆盖的边界。
·ERROR设备上下文无效。
·NULLREGION新剪切区为空。
·SIMPLEREGION剪切区无覆盖边界。

参数:
pRgn表明被选择的区域。
·在函数的第一种版本中,如果该值为NULL,整个客户区被选中,输出仍剪切到窗口。
·在函数的第二种版本中,只有指定了RGN_COPY时,该句柄才能为NULL。
nMode指定要进行的操作,可为下列值之一:
·RGN_AND新剪切区包含与当前剪切区的覆盖部分,区域由pRgn标识。
·RGN_COPY新剪切区是pRgn标识区域的拷贝,这与SelectClipRgn的第一种版本相同。如果pRgn标识的区域为NULL,则新剪切区成为缺省的剪切区(空区域)。
·RGN_DIFF新剪切区包括当前剪切区和被pRgn标识区域所排除的区域。
·RGN_OR新剪切区包括当前剪切区和pRgn标识区域。
·RGN_XOR新剪切区包括当前剪切区和pRgn标识区域,但不包括覆盖区域。

说明:
为设备上下文选择区域作为当前剪切区。只利用了选定区域的拷贝,函数本身可被其它设备上下文选用,或者被删除。函数假设给定区域的坐标都使用设备坐标。某些打印机为保持文本的精确度,支持用比图形输出更高的分辨率进行文本输出。这些设备在更高的分辨率下报告设备单位,即使用文本单位。然后为图形缩放坐标以便使几个设备单位与1图形单位对应。可以调用使用文本单位的SelectClipRgn函数。在GDI中必须使用图形缩放的应用,可以使用GETSCALINGFACTOR打印程序脱离来决定缩放因子。缩放因子影响剪切。如果某区域用于剪切图形,GDI用缩放因子来分解坐标。如果用于剪切文字,GDI不作缩放调整,缩放因子为1,坐标将被2除;缩放因子为2,坐标将被4除,依此类推。

请参阅:CDC::GetClipBox, CDC::Escape, CRgn, ::SelectClipRgn