总结:Timer

总结:Timer

转载:https://blog.csdn.net/jeanwaljean/article/details/5958024

CWnd::SetTimer

UINT SetTimer( UINT nIDEvent, UINT nElapse, void (CALLBACK EXPORT* lpfnTimer)(HWND, UINT, UINT, DWORD));

第一个参数是我们为该timer定义的一个ID。该ID不可为0。

第二个参数是timer的时间间隔,以毫秒为单位,如果是100,则为1/10秒。

第三个参数是一个回调函数的指针。

       当第三个参数为NULL时,WM_TIMER消息将被投递到应用程序的消息队列之中,由OnTimer消息处理器对该消息进行处理。

  当第三个参数不为NULL时,它指定的函数名字可以变化,但是函数的类型必须是下面这样:

      void CALLBACK EXPORT TimerProc(
   HWND hWnd,      // handle of CWnd that called SetTimer
   UINT nMsg,      // WM_TIMER
   UINT nIDEvent   // timer identification
   DWORD dwTime    // system time
   );

SetTimer函数的返回值是我们在第一个参数中指定的timer ID号。如果SetTimer成功创建了一个timer,那么返回值就为非0,否则返回值为0。这也就是为什么我们在第一个参数中指定的timer ID必须为非0值的原因。

根据MSDN上的说法,timer在系统中属于一种受限的全局资源(a limited global resource),因此坚持SetTimer的返回值是否有效(即一个新的timer是否成功)是非常重要的。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值