談談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()函數。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章