新手学习中 发表于 2014-3-31 09:37:33

MFC定时器

MFC定时器设置:

SetTimer(1,1000,NULL);

功能:定时发送WM_TIMER消息。属于CWnd类,所以在控件类里可直接调用。

参数1、自定义数字表示定时器名称(自定义一个数字)
参数2、间隔时间(发送WM_TIMER消息的时间间隔)
参数3、自定义响应参数的名称(使用默认响应函数则NULL)(有多个定时器各自对应各自的响应函数时,可能需要设置)(当然也可用OnTimer参数进行判断是哪个定时器)

默认响应函数:OnTimer(UINT nIDEvent)

参数是定时器的名称


MFC 取消定时器:
KillTimer(1);
参数:需要停止的定时器数字名称


额外补充:

1、SetTimer是非阻塞函数。

2、先执行响应函数,还是往SetTimer下面的代码走,这个先后顺序应该是看谁先激发,谁先执行。

比如:

SetTimer(1,1000,NULL);
Sleep(5000);
AfxMessageBox("你好");

首先1秒后才发出消息,那么程序是往下走,程序休息5秒。

5秒后,可能就是先执行响应函数了。如果没有休息5秒,那就先弹窗出来。

至于是响应函数执行完再回来,还是说执行一半回来,我也不清楚。

最好是明天 发表于 2014-3-31 10:29:57

看看。。。。。。。。。。
页: [1]
查看完整版本: MFC定时器