定时器
1.在OnInitDialog()函数下:
SetTimer(0x2226,10*60*1000,NULL);//定时10分钟
//原理:
SetTimer函数的原型
UINT_PTR SetTimer(
HWND hWnd,//窗口句柄
UINT_PTR nIDEvent,//定时器ID,多个定时器时,可以通过ID判断是哪个定时器
UINT nElapse,//时间间隔,单位为毫秒
TIMERPROC lpTimerFunc//回调函数
);
在MFC程序中SetTimer被封装在CWnd类中,调用就不用指定窗口句柄了。
于是SetTimer函数的原型变为:
UINT SetTimer(UINT nIDEvent,UINT nElapse,void(CALLBACK EXPORT *lpfnTimer)(HWND,UINT ,YINT,DWORD))
当使用SetTimer函数的时候,就会生成一个定时器,函数中nIDEvent指的是定时器的标识,也就是名字。nElapse指的是时间 间隔,也就是每隔多长时间触发一次事件。第三个参数是一个回调函数,在这个函数里,放入你想要做的事情的代码,你可以 将它设置为NULL,也就是使用系统默认的回调函数,系统默认的是OnTimer函数。这个函数是怎么生成的呢?你需要在需要计 时器的类生成OnTimer函数,在ClassWizard里,选择要计时的类,添加WM_TIMER消息映射,就自动生成OnTimer函数了。
2.在OnTimer()函数下:
if(0x2226 == nIDEvent)//根据定时器ID,做相应操作
{
......
}
详见:http://blog.sina.com.cn/s/blog_4aba2dcd010125zz.html