1、定时器的介绍:
1、设置定时器:CWnd::SetTimer()
2)关闭定时器:CWnd::KillTimer() //括号里加入定时器id即可。
3)定时器消息:WM_TIMER
2、原理:SetTimer()函数每隔一段时间调用一次OnTimer()函数。
- 创建消息WM_CREATE(设置一个定时器)
int CMFCApplication3Dlg::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CDialogEx::OnCreate(lpCreateStruct) == -1) return -1; //说明每隔500毫秒,调用一次消息WM_TIMER //1:定时器id //500:时间间隔,单位(毫秒) //NULL:使用系统默认的处理函数,每隔500毫秒处理消息WM_TIMER SetTimer(1 , 1000 , NULL); return 0; }
- 创建消息WM_TIMER(定时器功能实现)
void CMFCApplication3Dlg::OnTimer(UINT_PTR nIDEvent) { // TODO: 在此添加消息处理程序代码和/或调用默认值 if( nIDEvent==1) //作用是:如果有多个定时器,可以通过括号里面id区分 { static int i = 0 ; i++; CString str; str.Format("TEXT(%d)",i); if(i ==5 ) { KillTimer(1); } MessageBox(str); } CDialogEx::OnTimer(nIDEvent); }
效果: