WM_PAINT消息测试

调试输出字符串

OutputDebugSting(_T(“WM_PAINT-OnPaint\n”));

1、WM_PAINT:功能和发生时间

2、BeginPaint和EndPaint必须成对使用。

a)BeginPaint返回的DC句柄,是基于关联的窗口客户区坐标系绘图

b)MFC把这两个函数封装为一个类:CPaintDC类,防止BeginPaintEndPaint不成对使用。

3、CDC类和CDC派生类

CDC类核心句柄就是m_hDC,他的绘图功能基本都是来自于m_hDC句柄原有的功能。

a)CPaint类:客户区标准绘图类,专门提供给WM_PAINT消息使用。

b)CClientDC类:客户区临时绘图类,在任何其他消息都可以使用的。

void CTestDlg::OnLButtonDown(UINT nFlags, CPoint point)
{CClientDC dc(this);//封装了API:GetDC和ReleaseDCdc.Ellipse(CRect(point.x - 10, point.y - 5, point.x + 10, point.y + 5));CDialogEx::OnLButtonDown(nFlags, point);
}

c)CWindowDC类:非客户区标准绘图类,专门在WM_NCPAINT中使用,不太常用。

void CTestDlg::OnNcPaint()
{//既不是屏幕坐标系,也不是客户区坐标系,这个是非客户区坐标系CRect rect;GetWindowRect(rect);rect.OffsetRect(-rect.left, -rect.top);CWindowDC dc(this);//封装API是:GetWindowDC,ReleaseDCdc.FillSolidRect(rect, RGB(200, 255, 255));
}

d)CMemoryDC类:由吕老师封装,内存DC绘制,不区分消息随时使用。

另外还有一个坐标系是屏幕坐标系,屏幕左上角是坐标系的原点。

【MFC系列-第19天】初步认识GDI绘图技术相关推荐

  1. MFC绘制动态曲线,用双缓冲绘图技术防闪烁

    转载自:ZHY_ongu的博客:MFC绘制动态曲线,用双缓冲绘图技术防闪烁 先上效果图    随着时间的推移,曲线向右平移,同时X轴的时间坐标跟着更新. 一.如何绘制动态曲线. 所谓动画,都是一帧一帧 ...

  2. 【MFC系列-第25、26天】绘图软件

    25.1 绘图软件的绘制原理 纯虚函数:抽象函数,强制在派生类中进行实现: 虚函数:有函数体,可在基类也可在派生类中实现. 基类CLayer class CLayer {//抽象类 public:CL ...

  3. [转载] MFC绘制动态曲线,用双缓冲绘图技术防闪烁

    转载的原文地址 先上效果图 随着时间的推移,曲线向右平移,同时X轴的时间坐标跟着更新. 一.如何绘制动态曲线 所谓动画,都是一帧一帧的图像连续呈现在用户面前形成的.所以如果你掌握了如何绘制静态曲线,那 ...

  4. SAP PM 入门系列之19 - IP31 Maintenance Plan Costing

    SAP PM 入门系列之19 - IP31 Maintenance Plan Costing 在SAP系统里,我们可以为维护计划确定其在某个期间里预计的成本.不过前提条件是: · The mainte ...

  5. STM32 基础系列教程 19 – WWDG

    前言 学习stm32 窗口看门狗(WWDG)接口使用,学会用STM32内部窗口看门狗(WWDG)接口实现程序异常时自复位功能.WWDG最适合那些要求看门狗在精确计时窗口起作用的应用程序.窗口看门狗由从 ...

  6. MFC中的GDI绘图

    MFC中的GDI绘图 目录(?)[+] 什么是GDI 什么是DC MFC中与GDI有关的类 获取设备环境 设置坐标映射 创建绘图工具并选入DC 调用DC绘图函数绘图 三坐标映射实例 一.关于GDI的基 ...

  7. MFC GDI绘图基础

    一.关于GDI的基本概念 什么是GDI? Windows绘图的实质就是利用Windows提供的图形设备接口GDI(Graphics Device Interface)将图形绘制在显示器上. 在Wind ...

  8. mfc 监控文件操作_商务办公好伴侣 兄弟MFC系列多功能一体机

    谈到多功能一体机产品,大家应该对兄弟品牌旗下的MFC系列并不陌生,该系列产品线跨度广,无论是中小型企业或是政府机关.事业单位等用户都有覆盖,凭借着MFC系列一体机高速.高质量.低成本等特点,MFC系列 ...

  9. MFC GDI+ 绘图

    MFC GDI+ 绘图 -------------------------- void CGDIplusTestView::OnDraw(CDC* /*pDC*/) { CGDIplusTestDoc ...

最新文章

  1. CVPR2022最新106篇论文整理|包含目标检测、动作识别、图像处理等32个方向
  2. 【机器学习】机器学习中样本不平衡,怎么办?
  3. Hadoop 系列之 Hive
  4. 3n+1b 备忘录方法
  5. mipi差分信号原理
  6. 群晖修改ipv6dns服务器,hiboy大佬的padavan开启IPv6,并使用IPv6登录黑群晖的方法
  7. svn 客户端下载地址
  8. 在计算机f有关快捷键,电脑快捷键大全
  9. 变电站无线测温系统的特点与应用
  10. 二层、三层、四层交换机的区别
  11. H5电玩城源码+玩法比较多+UI也特别好看+纯源码系列
  12. android ui ue,什么是UI设计,UE设计,二者有什么区别?
  13. Python从入门到实践
  14. Makefile文件是什么
  15. Linxu下RocketMq及可视化界面的搭建
  16. 阿里云合作伙伴返点和代理商返点的差别
  17. 360N5S:360N5S刷机
  18. scrapy快速入门
  19. Android 如何保存图片
  20. bat批量剪切命令_Windows批量搜索并复制/剪切文件的批处理程序实例

热门文章

  1. Xuggler开发教程
  2. Artifact到底是什么
  3. Linux 命令之 nslookup 命令-查询域名 DNS 信息的工具
  4. 人工智能领域论文常见基本概念笔记
  5. android获取应用安装通知消息,如何在Android 11 上获取已安装应用列表
  6. php导出页面居中设置,PHPExcel导出插入图片和居中问题
  7. getexternalfilesdir 相册_音乐相册(电子相册制作)V5.2 安卓最新版
  8. matlab中prprob,pr-sr-master
  9. base64 二进制流java_读取和base64编码二进制文件
  10. python内置属性类_Python内置类属性,元类研究