在编辑框中动态显示当前时间,实现时钟功能

1、首先响应WM_TIMER事件,利用MFC ClassWizard添加WM_TIMER事件。

2、然后在OnTimer()函数中添加处理代码,如下:

void CMyDlg::OnTimer(UINT nIDEvent)
{
      nIDEvent = 1; //指定定时器
      CTime t = CTime::GetCurrentTime();       //获得当前时间
      m_strTime.Format("%i:%02i:%02i", t.GetHour(), t.GetMinute(), t.GetSecond());    //m_strTime为编辑框对应的变量

      OnChangeTime(); //更新时间 编辑框对应的响应函数
      CDialog::OnTimer(nIDEvent);
}
3、在OninitDialog()中设置定时器:SetTimer(1, 1000, NULL); // 1为定时器号,1000表示1000ms的周期

4、每隔一秒更新一次数据:

OnChangeTime()

{

    UpdateData(false);

}

5、最后别忘了在重载DestroyWindow()函数,在销毁窗口的同时销毁计时器。

BOOL CMyDlg::DestroyWindow()
{
// TODO: Add your specialized code here and/or call the base class
    KillTimer(1); //销毁计时器
   return CDialog::DestroyWindow();
}

你可能感兴趣的:(timer,null,Class,mfc)