MFC定时器消息

Windows的定时器是一种周期性消息产生装置。当用户为一个窗口设置了定时器资源之后,系统就会按规定的时间间隔向窗口发送定时器消息。在这个消息中就可以处理一些需要定时处理的事情。

定时器消息只有一种:WM_TIMER,其响应函数是OnTimer;当然,需要触发OnTimer函数就必须先设置好定时器SetTimer.

下面是定时器使用例子:

定时1000ms计数,并将计数值显示与Edit对话框上。

  1. UI设计:创建基本对话框,添加响应的编辑框与文字说明;
  2. UI属性:添加编辑框成员变量,添加WM_TIMER消息处理函数OnTimer
  3. 源文件处理:在 1 BOOL CTimer_DemoDlg::OnInitDialog() 添加定时器设置函数
    // TODO: Add extra initialization here
        SetTimer(1, 1000, NULL);

    (设置参数:定时器1,定时1000ms,消息处理函数为NULL,代表以OnTimer为定时器消息处理函数)。

  4. OnTimer函数处理,计数并显示计数值:
     1 void CTimer_DemoDlg::OnTimer(UINT_PTR nIDEvent)
     2 {
     3     // TODO:  在此添加消息处理程序代码和/或调用默认值
     4     static LONG count=0;
     5     CString str;
     6     count++;
     7     str.Format(_T("%d"), count);
     8     m_Edit1 = str;
     9     UpdateData(false);
    10 
    11     CDialogEx::OnTimer(nIDEvent);
    12 }

     

  5. 编译运行即可。

谢谢.

posted on 2019-10-17 10:36  Milo_lu  阅读(560)  评论(0编辑  收藏  举报

导航