有时候想想,我们一条路走长了,换一条路,总想以走老路的方式继续,然而发现根本不行。
学了好久的Visual c++,之前用mfc做过各种条条框框,后来在普通的Win32里面学习游戏编程,
练到了物理碰撞检测,突然参考书上出来了一段代码,竟然实在mfc里做的,虽然好多winapi被封装了,
封装就封装了呗,用法没多大区别吧。
然后就是各种问题了。
我就把次的debug关键记录一下吧。
在修改之前先来点基础干货吧。
mfc计时器
核心就是三个函数:SetTimer(),OnTimer(),KillTimer()
这里很简单,
函数参数简单理解:
窗口类指针:谁处理时间就是谁;
计时器id:计时器的身份证号;
时间延迟:执行我们函数的间隔时间;
执行函数地址:我们每隔一段时间要执行的函数;
一般情况下我们我们写后三个参数就可以用,然后在类属性列表里设置消息WM_Timer选项为OnTimer()
会自动生成OnTimer函数,我们的第四个回调函数默认为OnTimer(),可以写成NULL。
参数就不解释了。
再来看我们的核心(我自认为的核心):
我自己理解的事件驱动过程:
我们在适当的地方添加SetTimer方法,例如如果我们想在程序开始运行开始我们的动作,我们就把他添加在OnInitDialog()
函数里面就好。
没经过一段时间我们就会发送消息触发OnTimer函数,执行我们在这个方法里面的行为,
我们在自己需要的地方如果想要停止这个计时器,我们就在这个地方添加KillTimer方法就好了。
干货已经献上,接下来我就直接贴代码来说明我在开头遇到的各种情况吧,
虽然只是一个函数,但真的搞了好久,想了好久,查了好久.
MFC入门小白的个人理解…