关于BeginPaint和WM_ERASEBKGND
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相关推荐
- WM_PAINT消息小结
WM_PAINT消息小结 hanlray@gmail.com Revision: 1.0 Date: 2005/08/14 WM_PAINT是Windows窗口系统中一条重要的消息,应用程序通过处理该 ...
- 【转】VC窗口刷新InvalidateRect和UpdateWindow RedrawWindow
首先说说WM_PAINT 这个重要的消息: The WM_PAINT message is generated by the system and should not be sent by an a ...
- RedrawWindow, UpdateWindow,InvalidateRect 用法
RedrawWindow, UpdateWindow,InvalidateRect 用法 1. 系统何时发送WM_PAINT消息? 系统会在多个不同的时机发送 WM_PAINT 消息:当第一次创建一个 ...
- WM_Paint 消息疑问解析
1. 系统何时发送WM_PAINT消息? 系统会在多个不同的时机发送 WM_PAINT 消息:当第一次创建一个窗口时,当改变窗口的大小时,当把窗口从另一个 窗口背后移出时,当最大化或最小化窗口时 ...
- VC的MFC中重绘函数的使用总结(整理)
原文网址:http://www.cnblogs.com/x8023z/archive/2008/12/09/mfc33.html 在刷新窗口时经常要调用重绘函数 MFC提供了三个函数用于窗口重绘 In ...
- Windows窗口刷新机制详解
1.Windows的窗口刷新管理 窗口句柄(HWND)都是由操作系统内核管理的,系统内部有一个z-order序列,记录着当前窗口从屏幕底部(假象的从屏幕到眼睛的方向),到屏幕最高层的一个窗口句柄的排序 ...
- VC窗口刷新InvalidateRect和…
学习了 原文地址:VC窗口刷新InvalidateRect和UpdateWindow 作者:玩世不恭 首先说说WM_PAINT这个重要的消息: The WM_PAINT message is gene ...
- 真正理解微软Windows程序运行机制——窗口机制(第三部分)
我是荔园微风,作为一名在IT界整整25年的老兵,今天说说Windows程序的运行机制.经常被问到MFC到底是一个什么技术,为了解释这个我之前还写过帖子,但是很多人还是不理解.其实这没什么,我在学生时代 ...
- InvalidateRect只是增加重绘区域,在下次WM_PAINT的时候才生效
InvalidateRect函数中的参数TRUE表示系统会在你画之前用背景色将所选区域覆盖一次,默认背景色为白色,可以通过设置BRUSH来改变背景色. Invalidate()之后: ...OnPai ...
最新文章
- linux执行命令段错误,Linux运行fortran程序 出现段错误(segmentation fault)
- Linux用Openssl为Apache签发证书
- 第二步 (仅供参考) sencha touch + PhoneGap(cordova 2.9 及其以下版本) 使用 adt eclipse进行打包...
- tableau应用实战案例(四十八)-以可视化的形式打开目标跟踪
- 项目: 推箱子图形化游戏 【C++ / C】
- SLB vs CLB
- Cryptocurrency Blockchain Internship Programme
- [51nod1376] 最长递增子序列的数量
- 搭建DVWA漏洞环境
- IC设计前端几本经典书籍
- TIOBE 2月编程语言排行榜新鲜出炉!C# 获3.08%增长率!
- 红帽产品及技术总裁:未来IT趋势预测
- 在字符串中找出第一个只出现一次的字符,Python实现
- Visual Studio 2013 中使用断点
- 进程,线程,协程的区别与联系
- c# winform 显示动态gif图片的简单方法
- ea6500 v1 刷梅林_Linksys EA6500刷ddwrt成功记
- ASP.NET Core 多线程 异步编程
- shred如果说它Linux系统是文件粉碎机它就更有名了
- python神器_牛逼啊!一个可以随时随地写Python代码的神器
热门文章
- W7程序计算机面板介绍,win7系统隐藏任意程序运行界面的详细步骤
- vb mysql 查询_vb中用sql语句查询数据库
- wordpress ajax 调用wpdb_莫名其妙的调用Roboto字体又莫名其妙的恢复的过程
- 如何给安卓应用添加权限
- pyqt5 qscrollarea到达_在PYQT5中QscrollArea(滚动条)的使用方法
- [JUC-5]ConcurrentHashMap源码分析JDK8
- 本周ASP.NET英文技术文章推荐[06/03 - 06/09]
- Google I/O 大会上的 Android Things 亮点汇总
- Spark(四) -- Spark工作机制
- 把项目从VS2005升级到VS2013