当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
显示第二页
你应该看看这部分代码有没有问题