OnTimer不被调用诊断步骤
来源:互联网 发布:dev怎么编程 编辑:程序博客网 时间:2024/06/05 22:56
在系统中设置了定时器,但发现OnTimer没有被调用。但windowproc函数是被调用的。
根据定时器的优先级确定应该是消息队列中的消息太多导致定时器消息没有被调用。
在windowproc打印日志监控什么消息被频繁调用,发现id=15的WM_PAINT消息被持续调用。
经查是在OnPaint处理中不小心注释掉了CPaintDC dc(this);这句,通常看起来这个对象好像没被使用,应该不受影响,实际上我错了,看看这个对象的构造函数都做了什么就清楚为什么一直发WM_PAINT消息。
构造函数会自动调用BeginPaint,析构调用EndPaint。BeginPaint函数的作用就是将窗口需要重绘的区域设置为空(也就是Update Region置空)
。在正常情况下,我们接收到了WM_PAINT消息后,窗口的Update Region都是非空的(如果为空就不需要发送WM_PAINT消息了)。而当你响应这个消息的时候又不调用BeginPaint来清空,窗口的Update Region就一直是非空的,系统就会一直发送WM_PAINT消息。这样就形成了一个处理WM_PAINT消息的死循环。
- OnTimer不被调用诊断步骤
- MFC编程时,OnTimer()函数未被调用解决方法
- OnTimer
- 列表控件中的OnTimer() 不能反复调用
- SetWindowExt与SetViewportExt OnTimer与SetTimer VC系统时间调用
- dllmain不被调用
- onActivityResult()不被调用
- ISA服务异常诊断思路与步骤
- neutron 诊断dhcp和openvswitch问题步骤
- ISA服务异常诊断思路与步骤
- 关于OnTimer()
- settimer ontimer
- OnTimer使用
- OnTimer使用
- 关于OnTimer
- 关于OnTimer() .
- OnTimer MessageBox
- onTimer计时器
- pthread_mutex_t的使用
- Linux下批量删除.svn目录
- mobile web 开发小结之一
- 2007LA 3902 网络(树+贪心)
- 拓扑排序
- OnTimer不被调用诊断步骤
- JQuery实现页面跳转
- QT中读取和写入CSV格式文档
- SVN代码同步的一个小用法
- APP开发网页自动滚屏动态加载 页面滚动动态加载数据,页面下拉自动加载内容
- 每天进步一点点-------python之拉丁隐语转换器
- NP 简介
- 【C语言】08-数组
- eclipse设置软tab(用4个空格字符代替)及默认utf-8文件编码(unix)