MFC定时器的使用,关于条件判断

当m_MsgCtrl.ArriveOrNot == FALSE的时候,应该如何写代码实现m_MsgCtrl.PageSwitch = FALSE;
m_MsgCtrl.PageSwitch = TRUE;代表的两个界面不停的相互切换

        我是这样写的,但是不行
            if(m_MsgCtrl.ArriveOrNot == FALSE)//当未到站的时候,才切换
    {
        if(m_MsgCtrl.PageSwitch == FALSE)//当在第一页的时候
        {
            m_MsgCtrl.PageSwitch = TRUE;//切换到第二页
        }
        else
        {
            m_MsgCtrl.PageSwitch = FALSE;//否则,切换到第一页
        }

    }
    else if(m_MsgCtrl.ArriveOrNot == TRUE)
    {
        KillTimer(123);
    }

你这个需要打log好好查一下,因为一般计时器是很难加断点单步调试的,我来帮你看看吧。

题主代码是 c 还是 cpp?

    if(!m_MsgCtrl.ArriveOrNot)
    {
        m_MsgCtrl.PageSwitch = !m_MsgCtrl.PageSwitch;
    }
    else
    {
        KillTimer(123);
    }

你问的不是地方估计,这部分代码没有问题,可是你的timer有没有启动成功,timer的消息有函数有没有正确映射,wm_timer的处理是否正确,这些都是正常流程所必须的,这个部分没问题

m_MsgCtrl.PageSwitch ;这应该只是你切换画面的一个标示,但你贴出来的代码并没有你切换画面的动作

我估计之后应该有
if (!m_MsgCtrl.PageSwitch)
{
显示第一页
}
else
显示第二页

你应该看看这部分代码有没有问题