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; 
} 
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值