首页 > 装修问题 > 装饰材料 > 其他 > mfc定时器如何使用?

mfc定时器如何使用?

浏览次数:1674|时间:2024-05-09

最新回答

2024-05-09巨匠智能家居
1.设置定时器(定义一个定时器的属性):          SetTimer(  UINT  nIDEvent,  UINT  nElapse,  void  (CALLBACK  EXPORT*lpfnTimer)(HWND,UINT,UINT,DWORD));  2.定时器响应(响应系统定义WM_TIMER消息):          OnTimer(  UINT  nIDEvent  );3.释放定时器:          KillTimer(  int  nIDEvent  );  其中:  UINT  nIDEvent:定时器的ID,在一个程序中用这个ID来确定是那个定时器发送的消息。UINT  nElapse:  定义刷新时间,即间隔多长时间刷新一次,单位是毫秒。  void  (CALLBACK  EXPORT*  lpfnTimer)(  HWND,  UINT,  UINT,  DWORD):回调函数的参数,实现刷新时所做的操作,一般情况下都设为0。  在这里就用一个简单的例子来说明定时器在MFC中是如何使用的。1.建立单文档程序Timer。  2.在resource.h中定义两个定时器的ID#define  TIMER1  1#define  TIMER2  2  3.在CMainFrame的OnCreate函数中定义两个定时器的属性。  SetTimer(TIMER1,3000,0);SetTimer(TIMER2,5000,0);  4.在类视图中右击CMainFrame属性,在消息响应函数中找到WM_TIMER,然后添加响应函数OnTimer()。然后就可以使用了。

253

2024-05-09猫妖梦懿
比如在对话框上添加定时器
1.添加WM_TIMER消息,会在cpp文件生成  
void  C***Dlg::OnTimer(UINT  nIDEvent)  
{
//  其中  nIDEvent  用来区分定时器
//  添加定时器处理函数。
CDialog::OnTimer(nIDEvent);
2.  在要用的地方设置定时器,SetTimer(  100,  1000,  NULL);
其中100为定时器的ID值,1000为定时器的间隔时间。

259

2024-05-09黑崎龍少
1000表示没1000ms也就是1s调用一次处理函数,最后一个参数是处理的函数,如果填NULL表示,使用系统默认的,默认处理函数是OnTimer()那个函数,在这里面写你要执行的操作就可以了,如果你有多个定时器要在这里写if(id  ==  1)类似的东西去区分不同的定时器,更换贴图最好是在OnTimer里面更换当前显示的图片编号,然后刷新界面,更换图片的工作让OnPaint去做,让他们各司其职。

160