MFC定时器的使用

创建2个按钮事件和一个静态文本IDC_STATIC_TIME

 

 1 void CMyTimeDlg::OnButton1() //按钮1
 2 {
 3     SetTimer(1,1000,NULL);//启动定时器1,定时时间是1秒    
 4 }
 5 
 6 void CMyTimeDlg::OnButton2() //按钮2
 7 {
 8     KillTimer(1);        //关闭定时器1。    
 9 }
10 然后添加消息响应VM_TIMER
11 void CMyTimeDlg::OnTimer(UINT nIDEvent) 
12 {
13     // TODO: Add your message handler code here and/or call default
14     static int nTimer=0;    
15     CString str="";    
16     str.Format("Timer:    %d",nTimer++);    
17     CWnd *pWnd=GetDlgItem(IDC_STATIC_TIME);    //获取静态文本的指针
18     pWnd->SetWindowText(str); //在Lable中设置新值,表明定时器已经工作。    
19 
20     CDialog::OnTimer(nIDEvent);
21 }

 

2.回调函数型定时器实例

定义一个按钮

 1 void CALLBACK TimerProc(HWND hwnd,UINT uMsg,UINT idEvent,DWORD dwTime )
 2 {    
 3     static int nTimer=0;    
 4     CString str="";    
 5     str.Format("Timer:    %d",nTimer++);    
 6     AfxMessageBox(str);//定时器时间到,强出一对话框,表明定时器已经运行。
 7 }
 8 
 9 void CMyTimeDlg::OnButton3() 
10 {
11     SetTimer(1,1000,(TIMERPROC)TimerProc);//用回调函数处理,此时对话框的消息处理函数不再处理。    
12   //KillTimer(hWnd,ID_TIMER) ; 结束操作
13 }

 

 

posted @ 2013-08-05 23:32  GOD攀  阅读(390)  评论(0编辑  收藏  举报