我在一个单视图的工程里动态的画一个图,但我现当生成的窗口最小化后再恢复最大化,在视图里他就自动由上次给的参数开始画了(原来的要求是输入参数后再开始画),且在画的过程当中你在这个窗口只不能做任何事情,要等他画完后才能做的。请问各位前辈有什么解决的办法。

解决方案 »

  1.   

    首先你是因为触发了OnDraw,而你的代码估计就放在OnDraw里面,这样每次响应WM_PAINT消息就重新画了,即便不是由“窗口最小化后再恢复最大化”也能出现类似的事情。
      

  2.   

    将画画部分与逻辑部分分开,将画画放在OnDraw中即可。
    实在不行AfxBeginThread(),肯定搞定
      

  3.   

    JennyVenus() 这位老兄说得对,我的代码就是OnPaint()里,请问除了用线程外,还有没有其他的办法?
      

  4.   

    JennyVenus() 提供的方法很好呀.
    把画图的代码分开,比如由一个按钮触发,由画图之后在调用OnDraw就可以更新了。
    而其他方式触发的OnDraw函数将不会更新你的绘图操作。