步骤: 一、头文件里声明定时器消息编号
#define WM_TIMER1 WM_USER+1
#define WM_TIMER3 WM_USER+3
WM_USER之前时系统使用的消息编号。
二、类向导Class Wizard,消息里边找到WM_TIMER,添加处理程序。
void CMyDlg::OnTimer(UINT_PTR nIDEvent)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
switch(nIDEvent)
{
case WM_TIMER1:
{
KillTimer(WM_TIMER1);
…………//用户代码
}
break;
case WM_TIMER3:
{
KillTimer(WM_TIMER3);
…………//用户代码
}
break;
default:
break;
}
CDialog::OnTimer(nIDEvent);
}
三、启动定时器
SetTimer(WM_TIMER3,2500,NULL);
2500毫秒=2.5秒。
四、销毁定时器
KillTimer(WM_TIMER3);
定时器不用时要记得销毁,否则就会不停发送定时器消息,不停地调用OnTimer函数。
以上用法都是对话框类的成员函数,不需要窗口句柄。各个对话框可以建立自己的定时器,并且定时器编号重复也没有关系。