weixin_42163711
神农藏百草
2018-10-29 06:23
采纳率: 78.6%
浏览 553
已采纳

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);
    }
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • phenix2009
    白色一大坨 2018-10-29 08:19
    已采纳

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

    点赞 评论
  • qq806674461
    VEGAIRON 2018-10-29 06:39

    题主代码是 c 还是 cpp?

        if(!m_MsgCtrl.ArriveOrNot)
        {
            m_MsgCtrl.PageSwitch = !m_MsgCtrl.PageSwitch;
        }
        else
        {
            KillTimer(123);
        }
    
    
    点赞 评论
  • cwhelucky123
    风影-取名字真烦 2018-10-29 07:29

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

    点赞 评论
  • xingjianfengaa
    xingjianfengaa 2018-10-29 07:41

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

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

    你应该看看这部分代码有没有问题
    
    点赞 评论

相关推荐