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

来源:互联网 发布:好玩的java游戏 编辑:程序博客网 时间:2024/06/05 05:53

谈谈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()函数。

 

 

原创粉丝点击