我用MFC绘图,每当窗口刷新后我的图就没有了。请高手指点,如何在窗口刷新后图还在??

解决方案 »

  1.   

    把绘图的代码放在OnPaint中(响应WM_PAINT)
      

  2.   

    那你在OnPaint()再重新绘一次
      

  3.   

    在内存中留一个图像信息(或者图像本身)的备份鼠标拖动的时候,画图的同时,更新内存中的图像备份,在OnPaint函数中,将内存中的图像备份重绘到屏幕上去
      

  4.   

    不要管屏幕,将更新的任务交给系统
    只在内存DC中画,然后在 OnPaint 中将内存DC复制到屏幕
      

  5.   

    一般的单/多文件更在在 OnDraw 中,OnPaint 是基于对话框的
      

  6.   

    如果是API方式编程,最好不要只在内存中画的,因为系统只有在屏幕某个区域变成无效之后,才会发送WM_PAINT消息,来重绘屏幕,因此若需要让系统自己给你绘上去,必须RedrawWindow,由于RedrawWindow的范围是一个Rect,实际绘画量应该比一条线多.如果同时画内存与屏幕,则直接画条线即可(画线也不麻烦).考虑DOCUMENT/VIEW的话
    把线条数据记入DOCUMENT,在OnDraw中取document中间的信息画图就是了,其他不用管了.
      

  7.   

    在内存中留一个图像信息(或者图像本身)的备份鼠标拖动的时候,画图的同时,更新内存中的图像备份,在OnPaint函数中,将内存中的图像备份重绘到屏幕上去
    就是这个意思
      

  8.   

    放到 OnPaint 中去,因为一量刷新 OnPaint 就会被调用