我在ontimer函数里面killtimer以后,怎么定时功能还在启用,这是怎么回事
void CModeDlg::OnTimer(UINT nIDEvent)
{
if(nIDEvent==ID_TIME_2)
{
MessageBox("ok");
KillTimer(ID_TIME_2);
}
}程序就是上面的一段,理论上不是应该只弹出一个messagebox吗?可是我运行程序以后messagebox一直在弹出(时间间隔设的是500ms)。
void CModeDlg::OnTimer(UINT nIDEvent)
{
if(nIDEvent==ID_TIME_2)
{
MessageBox("ok");
KillTimer(ID_TIME_2);
}
}程序就是上面的一段,理论上不是应该只弹出一个messagebox吗?可是我运行程序以后messagebox一直在弹出(时间间隔设的是500ms)。
bool tt=false;
void CModeDlg::OnTimer(UINT nIDEvent)
{
if(nIDEvent==ID_TIME_2&&tt)
{
MessageBox("ok");
tt=false;
}
}
bool tt=true;
void CModeDlg::OnTimer(UINT nIDEvent)
{
if(nIDEvent==ID_TIME_2&&tt)
{
MessageBox("ok");
tt=false;
}
}
最近脑子不好使...
而且,由于你设定的是500ms,所以,每500ms就会调用一次OnTimer,messageBox就会不断弹出.
如果先killtimer,在messagebox就可以了。