定时器用法

来源:互联网 发布:sybase数据库备份命令 编辑:程序博客网 时间:2024/05/22 12:15

该函数是窗口类特有的,不同的窗口的定时器对应所在窗体有效。
函数用法:
一、开启定时器
1,所有事务都在一个窗体内可以直接用
SetTimer(1,1000,NULL);//1表示定时器编号1,1000表示定时1000毫秒,第三个参数不清楚具体作用,可以参考msdn,一般用NULL即可。
2,如果有跨窗口事件,要关闭或设定不同的窗口的定时器,则要用下面的函数,注明对应窗口的句柄,如果是函数所在窗口,可以用this->m_hWnd:
::SetTimer(this->m_hWnd,1,0,NULL);

二、强制关闭定时器:
KillTimer(1);或::KillTimer(this->m_hWnd,1);

三、当定时器计时到点后,会激发窗体的OnTimer事件
该事件可以通过类向导添加WM_TIMER消息事件:


void CMainDlg::OnTimer(UINT nIDEvent)
{//nIDEvent 为对应的定时器编号
 // TODO: Add your message handler code here and/or call default
 switch(nIDEvent)
 {
 case 1://定时器1计时到点
  KillTimer(1);//如果这句不写,定时器一直循环
  //do something ;
  break;
 case 2://定时器2计时到点
  KillTimer(2);
  //do others;
  break;
 }
 CDialog::OnTimer(nIDEvent);