因为你没有重绘屏幕,在重新输出时,你调用Invalidata().

解决方案 »

  1.   

    先清除掉,再写。清除可用FillRect把窗口的内容全清,或只清一部份。
      

  2.   

    update 是 MFC 里的吧?这个没有用 MFC。
    我想他是在 WM_PAINT 消息里清除一下,然后重画整个窗口。
    现在的问题是他只重画局部。
      

  3.   

    junguo 说的是 api InvalidateRect 吧?
    这个 api 本质上是 SendMessage(hwnd,WM_PAINT,...)
    所以在 WM_PAINT 消息里调用他是不对的。Muf 
    字的显示没问题了,但是
    有没有比 FillRect 快的办法?而且他有时会把旁边的滚动条给画了应该有很标准的办法来解决这个问题
      

  4.   

    我觉得应该要在WM_PAINT里画
    要不然有其它窗口把你的窗口覆盖后内容就没有了如果是我做的话,用字符串保留要显示的内容,改变时更改字符串就可以了
    然后在WM_PAINT里显示
      

  5.   

    可以设置剪切范围,可免把其它东西重画的问题。
    可以用双缓冲技术,增加速度。(即在内存DC中画,然后一次BLT到屏幕)