MFC中timer 的使用

首先,要设置定时器。

在init中(或其他的初始化函数里),调用函数

UINT SetTimer(
   UINT 
nIDEvent,//定时器标记,
   UINT 
nElapse,//间隔时间
   void ( CALLBACK* 
lpfnTimer ) (HWND, UINT, UINT, DWORD) = NULL 
)

如settimer(1,2000,NULL);

设置定时器1的间隔为2000毫秒。

其次,添加ontimer消息处理函数代码。

void OnTimer( 
   UINT_PTR 
nIDEvent  
);

 

在ontimer中的程序在定时器被触发的时候运行。

void OnTimer( 
   UINT_PTR 
nIDEvent  
)

 

 

如果程序中有多个定时器,则他们共用一个ontimer消息处理程序。

在ontimer中,可以通过判断定时器标志(nIDEvent)来区分不同的定时器。

假设设置了三个定时器,标记分别为1,2,3。如

settimer(1,2000,NULL);

settimer(2,3000,NULL);

settimer(3,5000,NULL);

则在ontimer消息处理函数中

void OnTimer( 
   UINT_PTR 
nIDEvent  
){

switch (nIDEvent)

{

case 1:

  //do something

break;

case 2:

  //do something

break;

case 3:

   //do something

break;

default:

}

}

 

 

原帖地址: http://www.qihang518.com/?id=a61539

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值