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