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);
}

效果:

MFC学习之路十三之定时器的使用_默认值