谈谈MFC中为dialog添加计时器。

谈谈MFC中为dialog添加计时器。

很简单,比如在CMineDlg中。

在CMineDlg.h中。声明如下。

public:

int mi_Timerl

afx_msg void OnTimer(UINT_PTR nIDEvent);


在CMineDlg.cpp中

BEGIN_MESSAGE_MAP(CMineDlg, CDialog)

        ON_WM_TIMER()

END_MESSAGE_MAP()

void CMineDlg::MouseDownVsflexgridn1Test(short Button, short Shift, float X, float Y)

{

     if (Button == 1) // left mouse clicked

     {

             mi_Timer = SetTimer(1, 1000, NULL);

     }

    else if (Button == 2)// right mouse clicked

     {

            KillTimer(mi_Timer);

      }

}

void CMineDlg::OnTimer(UINT_PTR nIDEvent)

{

        CDialog::OnTimer(nIDEvent);

        mi_TimeRecord++;// 在这里做你计时想做的事情。

        UpdateData(FALSE);

}

 

在你需要开始计时的地方设置一下。

mi_Timer = SetTimer(1, 1000, NULL);这样系统就会每隔1秒调用一次OnTimer函数。

如果你想停止调用OnTimer函数,在你需要停止的地方取消一下即可:

KillTimer(mi_Timer);

上面的程序表示按下左键开始计时每一秒调用一下OnTimer()函数。按下右键停止计时。不再调用OnTimer()函数。

 

 

你可能感兴趣的:(MFC)