VC中SetTimer用法

SetTimer函数原型为:
UINT SetTimer(UINT nIDEvent,UINT nElapse,void(CALLBACK EXPORT *lpfnTimer(HWND,UINT ,YINT ,DWORD))
当使用SetTimer函数的时候,就会生成一个计时器。
函数中nIDEvent指的是计时器的标识,也就是名字。
nElapse指的是时间间隔,也就是每隔多长时间触发一次事件。
第三个参数是一个回调函数,在这个函数里,放入你想要做的事情的代码,你可以将它设定为NULL,也就是使用系统默认的回调函数,系统默认认的是onTime函数。
这个函数怎么生成的呢?你需要在需要计时器的类的生成onTime函数:在ClassWizard里,选择需要计时器的类,添加WM_TIME消息映射,就自动生成onTime函数了。然后在函数里添加代码,让代码实现功能。每隔一段时间就会自动执行一次。
例如:
SetTimer(1,1000,NULL);其中1是计时器的名称,1000是时间间隔,单位为毫秒,NULL表示使用OnTimer函数。当不使用计时器时调用KillTimer(nIDEvent);
如KillTimer(2);
有时需要多个定时器,那么就可以使用多个SetTimer,设置不同的nIDEvent就可以了。
例如:SetTimer(2,1000,NULL); SetTimer(3,500,NULL);SetTimer(4,2000,NULL);
这样的话OnTimer函数也要发生一些变化,要在函数体内添加每个Timer的处理代码:
如下:
onTimer(nIDEvent) 
{ 
switch(nIDEvent) 
{ 
      case 1:
            fun1(); 
      break; 
      case 2:
            fun2();
      break; 
      case 3:
             fun3(); 
break; 
} 
}


你可能感兴趣的:(VC中SetTimer用法)