我用MFC开发了一个对话框程序,程序主界面上有个TabCtrl,然后在该TabCtrl上有多个子对话框,用于显示曲线用,每个子对话框上只放了个绘制曲线的控件,现在有个问题一直未解决,特来请教高手帮忙。
我通过串口接收数据,然后绘制到子对话框的曲线控件上,每次接收到数据后会更新曲线,但是每次切换到其他程序,再切换回我的这个程序时,曲线控件就恢复为初始设定状态,比如纵坐标在没有数据时我设置为0到100,在实际接收到数据时,跨度还是100,但是范围可能是-3到97这样,且没有曲线显示!每次从其他程序切换回来就恢复为初始状态,除非我用鼠标点一下曲线,或者是接收到数据,自动更新一下。
在子对话框的onPaint()函数中,尝试了setFocus(),UpdateData(),Invalidate()等等,都是老样子,无法在切换回来时能自动显示最新的曲线情况。 希望有牛人帮忙解释一下,到底是哪儿的问题?
我通过串口接收数据,然后绘制到子对话框的曲线控件上,每次接收到数据后会更新曲线,但是每次切换到其他程序,再切换回我的这个程序时,曲线控件就恢复为初始设定状态,比如纵坐标在没有数据时我设置为0到100,在实际接收到数据时,跨度还是100,但是范围可能是-3到97这样,且没有曲线显示!每次从其他程序切换回来就恢复为初始状态,除非我用鼠标点一下曲线,或者是接收到数据,自动更新一下。
在子对话框的onPaint()函数中,尝试了setFocus(),UpdateData(),Invalidate()等等,都是老样子,无法在切换回来时能自动显示最新的曲线情况。 希望有牛人帮忙解释一下,到底是哪儿的问题?
如果是放在onpaint里面,则试试在OnActivate里面Invalidate();
每次切换窗口的时候,都得把曲线重画!