MFC里SetTimer怎么使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC里SetTimer怎么使用相关的知识,希望对你有一定的参考价值。

比如有一个函数

void function()

while(1)

a++;
m_1;
UpdateData(false);


m_1是编辑框的一个数值,显示要求每过1秒就执行一次while循环里的语句

要怎么写
按照你说的那样,结果在程序运行后就一直卡住,什么变化都没有,而且其他按钮也没法点了

是个死循环,但是就是希望能够做到每过一秒能加1

当调用SetTimer(1,1000,NULL)就触发WM_TIMER消息,1000为每一秒调用WM_TIMER的消息处理函数,你应该在窗口类中增加一个WM_TIMER消息,然后在OnTimer()函数中写入 m_1++;UpdateData(false);你写的while循环没有意义,因为while循环是以CPU的运行速度来执行的. 参考技术A 添加WM_TIMER
消息响应。
在OnInitDialog函数中,设置一个定时器。
SetTimer(1,1000,NULL);
然后把你说的那个while循环放到On_Timer消息响应函数中去。

OK!
参考技术B 想这些东西 以后就msdn一下 就可以 而且要多用msdn 你会学到很多的

还有啊 你的while是个死循环啊 不是很明白你要怎么改

mfc中的settimer函数是做啥的里面的参数呢

参考技术A 应为settimer的后,过100ms才收到wm_timer的消息,开始显示倒计时;
而仿真函数在settimer后就立即执行了,所以是先执行了仿真函数,100ms后执行倒计时。
你把仿真函数放到wm_timer的消息函数中就可以了。

以上是关于MFC里SetTimer怎么使用的主要内容,如果未能解决你的问题,请参考以下文章

mfc里SetTimer和Sleep有啥区别

mfc 线程里设置定时器settimer,但是执行不道OnTimer里

MFC 中,全局SetTimer函数怎么用?

问下关于MFC中 SetTimer() 和 KillTimer() 的使用

猎豹MFC--定时器SetTimer KillTimer

mfc中的settimer函数是做啥的里面的参数呢