mfc让程序每30分钟执行一次 (SetTimer()的使用方法)

一开始可能没有WM_TIMER消息,此时需要使用类向导添加消息。

SetTimer函数原型

UINT_PTR SetTimer(
  HWND hWnd,              // 窗口句柄
  UINT_PTR nIDEvent,      // 定时器ID,多个定时器时,可以通过该ID判断是哪个定时器
  UINT uElapse,           // 时间间隔,单位为毫秒
  TIMERPROC lpTimerFunc   // 回调函数
);

定时器的初始化

SetTimer(1,1000,NULL);//一个1秒触发一次的定时器

重新初始化即可重置计时时间,不必“杀死“”SetTimer,

多个定时器的实现与应用

void CTimerTestDlg::OnTimer(UINT nIDEvent)
{
   switch (nIDEvent)
   {
     case 24: ///处理ID为24的定时器
       Draw1();
     break;
     case 25: ///处理ID为25的定时器
       Draw2();
     break;
   }
   CDialog::OnTimer(nIDEvent);
}

注意:可以使用类向导,直接添加该函数。添加WM_TIMER消息。

取消定时器

直接运行下面的代码即可:

KillTimer(1);

其中1为定时器的ID编号。
函数KillTimer()的原型为:

BOOL KillTimer(
   HWND hWnd,          // 窗口句柄
   UINT_PTR uIDEvent   // ID
);

参考网址
SetTimer()函数使用

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值