1. 当WM_PAINT消息不是由函数InvalidateRect产生的时(即通过最大话,最小化,移动,下拉菜单等),系统会先产生连续产生若干个WM_ERASEBKGND消息,紧接着在产生WM_PAINT消息。

    如果程序没有自己处理WM_ERASEBKGND消息则默认由函数DefWindowProc函数处理(此函数使用在注册窗口类时使用的画刷擦除无效区域wndclass.hbrBackground)函数返回FLASE,如果程序自己处理WM_ERASEBKGND消息则返回TRUE。

    紧接着程序处理WM_PAINT消息,函数BeginPaint的参数PAINTSTRUCT结构(绘制信息结构)的fErase字段的值取决于WM_ERASEBKGND消息的返回,如果此消息返回FLASE,则fErase字段的值TRUE,否则为Flase。(函数BeginPaint会使无效区域变得有效)
  2. 当WM_PAINT消息是由InvalidateRect函数产生的时候,如果函数的bErase参数为TRUE,则BeginPaint函数察觉需要擦除背景则发送一个WM_ERASEBKGND消息(后面处理和1一样),如果为FLASE则不发送WM_ERASEBKGND消息。

    总结:如果说WM_ERASEBKGND消息是由BeginPaint函数产生的是不对的(得分情况处理)

最新文章

  1. Android开发学习之路-Android Studio开发小技巧
  2. Linux rpm 命令参数使用详解[介绍和应用]
  3. Save vtkImageData to BMP Image 保存vtkImageData为图片
  4. hdu4508 完全背包,湫湫系列故事——减肥记I
  5. Android 响应webview中图片的点击事件
  6. 支持向量机(SVM)算法的matlab的实现
  7. HBase 4、Phoenix安装和Squirrel安装
  8. ps入门教程:裁剪工具、修复画笔工具、图章工具的使用
  9. 13树莓派手动安装Home Assistant
  10. 实现mypwd和mybash
  11. C# 简单实现直线方程,抛物线方程
  12. layui(五)——form组件常见用法总结
  13. 调用微信的扫一扫功能详解说明---(java 排坑版)
  14. ELK+MySQL出现大量重复记录问题处理
  15. MPLAB X IDE V4.15 创建工程,编译,问题处理
  16. linux文件句柄数
  17. linux之无公网ip的自动登录
  18. VC++使用MapFileAndCheckSum完成自检测
  19. Linux修改/etc/profile配置错误command is not found自救方法
  20. CProgressCtrl进度条控件实现进度滚动效果

热门文章

  1. 开发C语言的3款神器,VS2019、VScode和IntelliJ Clion
  2. 【Makefile】2-Makefile的介绍及原理
  3. PAT (Basic Level) Practice (中文) 1050 螺旋矩阵 (25 分) 凌宸1642
  4. HarmonyOS三方件开发指南(16)-VideoCache 视频缓存
  5. web编辑工具 - Brackets - 强大免费的开源跨平台Web前端开发工具IDE
  6. OGG-集成模式抽取与数据库参数streams_pool_size关系
  7. RocketMq(一)初识
  8. Spring Cloud Alibaba(4)---Nacos(注册中心)
  9. Mysql之读写分离架构-Atlas
  10. Day09_47_Map