#define PICWIDTH    365
#define PICHEIGHT   160

//CRgn Test;
    //X1,Y1 ---------- Long,矩形左上角X,Y坐标
    //X2,Y2 ---------- Long,矩形右下角X,Y坐标
    //创建一个矩形区域
    HRGN rgnRect1=CreateRectRgn(0,0,100,PICHEIGHT);
    HRGN rgnRect2=CreateRectRgn(110,0,210,PICHEIGHT);
    /*
    创建的一个带圆角的矩形区域。
    nLeftRect
    [in] 指定了x坐标的左上角区域逻辑单位。
    nTopRect
    [in] 指定了y坐标的左上角区域逻辑单位。
    nRightRect
    [in] 指定了x坐标的右下角区域逻辑单位。
    nBottomRect
    [in] 指定了y坐标的右下角区域逻辑单位。
    nWidthEllipse
    [in] 指定创建圆角的宽度逻辑单位。
    nHeightEllipse
    [in] 指定创建圆角的高度逻辑单位。
    */
    HRGN rgnRoundRect=CreateRoundRectRgn(0,0,PICWIDTH,PICHEIGHT,10,10);

//创建一个椭圆区域
    HRGN rgnEllipticRect=CreateEllipticRgn(0,0,PICWIDTH,PICHEIGHT);

//创建一个由一系列点围成的区域
#define BIANKUANG  10
    CPoint pts[8] = {CPoint(BIANKUANG, 0), CPoint(PICWIDTH-BIANKUANG, 0), CPoint(PICWIDTH, BIANKUANG), CPoint(PICWIDTH, 150),
        CPoint(PICWIDTH-BIANKUANG, PICHEIGHT), CPoint(BIANKUANG, PICHEIGHT), CPoint(0, PICHEIGHT-BIANKUANG), CPoint(0,BIANKUANG)};
    HRGN rgnPolygonRect=CreatePolygonRgn(pts,_countof(pts),ALTERNATE);

/*
    RGN_AND   两个源区域的交集(集合中的交集)
    RGN_COPY  设置为hSrcRgn1的拷贝
    RGN_DIFF  设置为hSrcRgn1与hSrcRgn2相减后的区域(集合中的差集)
    RGN_OR    被设置为两个区域的并集(集合中的并集)
    RGN_XOR   被设置为两个区域的异或操作后的区域(集合中的异或操作)
    */
    HRGN RgnTwo=CreateRectRgn(0,0,0,0);//必须先创建一个空的区域
    //两个区域转变成一个区域
    CombineRgn(RgnTwo,rgnRect1,rgnRect2,RGN_OR);
    //区域生效
    SetWindowRgn(rgnPolygonRect,true);

//不用时一定要用DeleteObject函数删除该区域
    DeleteObject(rgnRoundRect);

VC窗口形状的绘制---SetWindowRgn相关推荐

  1. java 绘制长方形_Java基础之在窗口中绘图——绘制直线和矩形(Sketcher 2 drawing lines and rectangles)...

    控制台程序. import javax.swing.JComponent; import java.util.*; import java.awt.*; import java.awt.geom.*; ...

  2. VC窗口刷新InvalidateRect和…

    学习了 原文地址:VC窗口刷新InvalidateRect和UpdateWindow 作者:玩世不恭 首先说说WM_PAINT这个重要的消息: The WM_PAINT message is gene ...

  3. 【转】VC窗口刷新InvalidateRect和UpdateWindow RedrawWindow

    首先说说WM_PAINT 这个重要的消息: The WM_PAINT message is generated by the system and should not be sent by an a ...

  4. 一些常规形几何形状的绘制和效果填充(一)

    源程序下载 一些常规形几何形状的绘制和效果填充                       visualsan@yahoo.cn      常规几何形状是指三角形,多边形,圆,圆弧,直线,点,文字等的 ...

  5. qt自定义窗口,其绘制的窗口边框线显示不全

    引言 自定义窗口,该窗口包含标题栏,默认整个窗口的边框线为蓝色,当点击该窗口的时候,窗口的边框线便为红色.程序在运行的时候,窗口的边框线只显示了左右两边的线,没有显示上下边的线. 示例 效果: 解决方 ...

  6. python处理Excel实现自动化办公教学(数据筛选、公式操作、单元格拆分合并、冻结窗口、图表绘制等)【三】

    相关文章: python处理Excel实现自动化办公教学(含实战)[一] python处理Excel实现自动化办公教学(含实战)[二] python处理Excel实现自动化办公教学(数据筛选.公式操作 ...

  7. 基于VC++的3D地形绘制与纹理贴图

    前言 随着地理信息系统产业的发展,三维产品也在生活中处处吸引着我们的眼球.作为数字城市的核心内容,城市模型的构建成为了目前研究的热点.OpenGL是独立于操作系统和硬件环境的三维图形库,其为实现逼真的 ...

  8. VC窗口自由的调整大小的实现

    VC窗口自由的调整大小的实现.具体代码和详细的英文说明,大家可以看 原文 ,本篇是使用后的具体细节说明. 1,将在对话框的属性里设置 边框可调整大小的 2,在主窗体cpp添加 #include Eas ...

  9. 用python做词云 包含:处理词云形状+分词+绘制词云

    用python制作词云 包含:处理词云形状+分词+绘制词云 以下代码不超过100行 1.处理词云形状 你可能想把词云做成不同的形状,例如方形.圆形,甚至更复杂的,例如一个人体形状. 首先选一张背景为纯 ...

最新文章

  1. Func vs. Action vs. Predicate [复制]
  2. 8.继续分析一破解加密码获取-最最最简单的注册机
  3. Google图解:Chrome 快是有原因的,科普浏览器架构!
  4. Java opengl openal_项目里用到了openal,特分享一下openal全教程
  5. IA-32 Intel手册学习笔记(二)保护模式下的内存管理
  6. oracle的clob转换varchar2
  7. biee12c连接hive_BIEE 12c Linux下连接Hadoop Hive
  8. D. Multiplication Table 二分查找
  9. Pivotal Cloud Foundry安全原理解析
  10. 在线查看Android源码
  11. windows service 2012阿里云服务器在搭建mysql时缺少msvcr100.dll文件解决方案
  12. 区分微信开发平台和公众平台(小程序)
  13. java manager层_在阿里Java大牛们都是这样对Java项目代码分层的
  14. 使用Unity创建一个游戏场景
  15. notebook常用快捷键
  16. 论文研读 —— 4. You Only Look Once Unified, Real-Time Object Detection (3/3)
  17. 用于科学计算机的计算器特点是什么,科学计算器有哪些功能
  18. 图书管理系统(Java)
  19. 宁静、万茜等姐姐们“乘风破浪”,各品牌借势掀起新一波火热营销
  20. 修改ELF可执行文件entry入口感染一个程序

热门文章

  1. apollo数据库安装与常见错误说明
  2. SpringCloud导学
  3. springiocxml方式注入对象原理分析
  4. AbstractQueuedSynchronizer源码解析
  5. java观察者模式在spring中的应用_Spring源码之spring中的观察者模式和监听器的使用...
  6. 正确率 精度 召回率 错误率
  7. MySQL zip版本安装说明
  8. 关于导入geoserver 源码到Eclipse编译运行
  9. 【AngularJS】—— 8 自定义指令
  10. visual studio 解决方案项目结构部署和配置