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);
}
效果: