我是靠谱客的博主 典雅鞋子,这篇文章主要介绍剪切区域,现在分享给大家,希望可以做个参考。

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

 

下面这段代码是从一本书的配套光盘里取出来的,是从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。

最后

以上就是典雅鞋子最近收集整理的关于剪切区域的全部内容,更多相关剪切区域内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(116)

评论列表共有 0 条评论

立即
投稿
返回
顶部