分类: C/C++
2009-07-27 11:30:28
vc中timer的使用归纳
vc中timer函数可以用来处理一些对时间精度不高的时序事务,
例如超时处理,延时处理等, 字串7
该函数是窗口类特有的,不同的窗口的定时器对应所在窗体有效。
函数用法:
一、开启定时器
1,所有事务都在一个窗体内可以直接用
SetTimer(1,1000,NULL);//1表示定时器编号1,1000表示定时1000毫秒,第三个参数不清楚具体作用,可以参考msdn,一般用NULL即可。
2,如果有跨窗口事件,要关闭或设定不同的窗口的定时器,则要用下面的函数,注明对应窗口的句柄,如果是函数所在窗口,可以用this->m_hWnd:
::SetTimer(this->m_hWnd,1,0,NULL);
字串8
二、强制关闭定时器:
KillTimer(1);或::KillTimer(this->m_hWnd,1); 字串9
三、当定时器计时到点后,会激发窗体的OnTimer事件
该事件可以通过类向导添加WM_TIMER消息事件: 字串3
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);
}