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:

}

}


 

 

 

 

 

 

 

 

你可能感兴趣的:(VC)