剪切区域

剪切区域也是区域的一种, 窗口在重绘时只会重绘剪切区域中的内容

 

下面这段代码是从一本书的配套光盘里取出来的,是从CButton类派生的,实现三角形按钮。

 if ((state & ODS_FOCUS)) {//焦点
  CRgn rgn;
  rgn.CreateRectRgn(rect.left, rect.top, rect.right, rect.bottom);//复制客户区矩形
  pDC->SelectClipRgn(&rgn);//该函数选择一个区域作为指定设备环境的当前剪切区域//剪切区域也是区域的一种, 窗口在重绘时只会重绘剪切区域中的内容
  pDC->SelectObject(FocusPen);

 

==========================函数解释==================================

SelectClipRgn
  函数功能:该函数选择一个区域作为指定设备环境的当前剪切区域。
  函数原型:int SelectClipRgn(HDc hdc, HRGN hrgn);
  参数:
  hdc:设备环境句柄。
  hrgn:标识被选择的区域。
  返回值:返回值表明了区域的复杂度,可以是下列值之一。
  NULLREGION:区域为空;
  SIMPLEREGION:区域为单个矩形;
  COMPLEXREGION:区域为多个矩形;
  ERROR:发生错误(以前的剪切区域不受影响)。
  Windows NT:若想获得更多错误信息,请调用GetLastError函数。
  注释:只有选择区域的一个拷贝被使用,区域本身可被任何其他的设备环境所选择,并且它还被删除。
  SelectclipRgn函数假设指定区域的坐标在设备联合中已经定义。
  要想删除一个设备环境的剪切区域,指定一个空(NULL)区域句柄。
  速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件:wingdi.h;库文件:gdi32.lib。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值