SetTimer()怎莫用

来源:百度知道 编辑:UC知道 时间:2024/06/04 05:19:03
MFC问题
如SetTimer(1,150,NULL);
怎么用
他的参数代表什么意思啊
不好意思能不能具体点最好再讲讲OnTime()
呵呵小弟是刚弄MFC的

SetTimer的第一个参数 非常关键他是你现在要开启的Timer的id号,第二个参数是一个Timer的时间 毫秒单位。第三个参数可以使null。

在OnTimer方法中,只有一个参数就是timerid,你可以在这里对这个id进行判断,截获你自己的timer然后进行处理,这里给你一个实例:

假设你在其他地方设定了 SetTimer(1, 200, NULL);

SetTimer
第一个参数是记时器id
第2个参数是间隔时间,单位为毫秒
第3个参数是一个函数指针,并且要求是一个回调函数。
当设定好定时器之后,每隔设定的时间间隔,它就会发送一条定时器
消息。如果在这里设置了回调函数,这时操作系统就会调用这个回调
函数来处理定时器消息,如果设置为NULL,定时器消息,即WM_TIMER消息

就会放到应用程序的消息队列中,然后由程序中响应此消息的窗口对象来处理(即可以添加OnTimer消息函数进行响应)

如果第3个参数的意思你看不懂,建议你看看win32 sdk编程

SetTimer函数一般放在OnCreate函数中

如你在OnCreate函数中添加
SetTimer(1,200,NULL);
并且添加OnTimer消息函数(如在view类里添加,那么右击它选添加window消息处理函数,然后找到WM_TIMER,添加就可以了)
那么过200毫秒 就会调用一次OnTimer函数

还不懂可以加我QQ568722270

记不太清了
好像是第一个参数表示记时器编号,第二个参数表示记时器间隔时间,设定记时器后它会每隔一定时间发出一个记时器消息,你可以做OnTime()消息映射,之后重载OnTime()函数来进行处理。有点多线程的意思。

重载OnTime()函数,就可能用了,定时到了就调用OnTime()函数