1。当操作系统意识到无效区域的时候,会向窗口发送WM_PAINT消息。必须调用Beginpaint(),BeginPaint用来为DC获得一个无效区域。以后的绘制只会在这无效区域里面绘制。

2。同时,如果是默认情况下,会发WM_ERASEBKGND消息,这样就会有重新刷新背景的机会。

MFC如果指定了Brush,默认的DefaultWinProc会擦除背景一次。要想只擦除一次背景,则必须在WM_ERASEBKGND直接返回FALSE,表示自己没有刷新背景。

3。如果使用InvalidatRect,那么就会产生无效区域,最后一个参数默认为false,也就是说只发送WM_Paint消息,为TRUE则在BEginPaint的时候,发送WM_ERASEBKGND消息。

关于BeginPaint和WM_ERASEBKGND相关推荐

  1. WM_PAINT消息小结

    WM_PAINT消息小结 hanlray@gmail.com Revision: 1.0 Date: 2005/08/14 WM_PAINT是Windows窗口系统中一条重要的消息,应用程序通过处理该 ...

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

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

  3. RedrawWindow, UpdateWindow,InvalidateRect 用法

    RedrawWindow, UpdateWindow,InvalidateRect 用法 1. 系统何时发送WM_PAINT消息? 系统会在多个不同的时机发送 WM_PAINT 消息:当第一次创建一个 ...

  4. WM_Paint 消息疑问解析

    1. 系统何时发送WM_PAINT消息?    系统会在多个不同的时机发送 WM_PAINT 消息:当第一次创建一个窗口时,当改变窗口的大小时,当把窗口从另一个 窗口背后移出时,当最大化或最小化窗口时 ...

  5. VC的MFC中重绘函数的使用总结(整理)

    原文网址:http://www.cnblogs.com/x8023z/archive/2008/12/09/mfc33.html 在刷新窗口时经常要调用重绘函数 MFC提供了三个函数用于窗口重绘 In ...

  6. Windows窗口刷新机制详解

    1.Windows的窗口刷新管理 窗口句柄(HWND)都是由操作系统内核管理的,系统内部有一个z-order序列,记录着当前窗口从屏幕底部(假象的从屏幕到眼睛的方向),到屏幕最高层的一个窗口句柄的排序 ...

  7. VC窗口刷新InvalidateRect和…

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

  8. 真正理解微软Windows程序运行机制——窗口机制(第三部分)

    我是荔园微风,作为一名在IT界整整25年的老兵,今天说说Windows程序的运行机制.经常被问到MFC到底是一个什么技术,为了解释这个我之前还写过帖子,但是很多人还是不理解.其实这没什么,我在学生时代 ...

  9. InvalidateRect只是增加重绘区域,在下次WM_PAINT的时候才生效

    InvalidateRect函数中的参数TRUE表示系统会在你画之前用背景色将所选区域覆盖一次,默认背景色为白色,可以通过设置BRUSH来改变背景色. Invalidate()之后: ...OnPai ...

最新文章

  1. linux执行命令段错误,Linux运行fortran程序 出现段错误(segmentation fault)
  2. Linux用Openssl为Apache签发证书
  3. 第二步 (仅供参考) sencha touch + PhoneGap(cordova 2.9 及其以下版本) 使用 adt eclipse进行打包...
  4. tableau应用实战案例(四十八)-以可视化的形式打开目标跟踪
  5. 项目: 推箱子图形化游戏 【C++ / C】
  6. SLB vs CLB
  7. Cryptocurrency Blockchain Internship Programme
  8. [51nod1376] 最长递增子序列的数量
  9. 搭建DVWA漏洞环境
  10. IC设计前端几本经典书籍
  11. TIOBE 2月编程语言排行榜新鲜出炉!C# 获3.08%增长率!
  12. 红帽产品及技术总裁:未来IT趋势预测
  13. 在字符串中找出第一个只出现一次的字符,Python实现
  14. Visual Studio 2013 中使用断点
  15. 进程,线程,协程的区别与联系
  16. c# winform 显示动态gif图片的简单方法
  17. ea6500 v1 刷梅林_Linksys EA6500刷ddwrt成功记
  18. ASP.NET Core 多线程 异步编程
  19. shred如果说它Linux系统是文件粉碎机它就更有名了
  20. python神器_牛逼啊!一个可以随时随地写Python代码的神器

热门文章

  1. W7程序计算机面板介绍,win7系统隐藏任意程序运行界面的详细步骤
  2. vb mysql 查询_vb中用sql语句查询数据库
  3. wordpress ajax 调用wpdb_莫名其妙的调用Roboto字体又莫名其妙的恢复的过程
  4. 如何给安卓应用添加权限
  5. pyqt5 qscrollarea到达_在PYQT5中QscrollArea(滚动条)的使用方法
  6. [JUC-5]ConcurrentHashMap源码分析JDK8
  7. 本周ASP.NET英文技术文章推荐[06/03 - 06/09]
  8. Google I/O 大会上的 Android Things 亮点汇总
  9. Spark(四) -- Spark工作机制
  10. 把项目从VS2005升级到VS2013