是因此操作时间过长?
实际上,如果你确认OnPaint能覆盖整个区域,不需要擦除背景,你可以不eraseground

解决方案 »

  1.   

    你自己invalidatarect(null)强制全部刷新下看看
      

  2.   

    \
    对话框上有按钮,还有其他控件,每次进这个对话框的时候,上面的按钮这些都不是一下子出来的
    你的窗口风格加上WS_CLIPSIBLINGS   试试
      

  3.   

    弄错了应该是WS_CLIPCHILDREN   风格
      

  4.   

    亲,你刷新的时候要通知控件也刷新
    当然,一般不这样做
    比较妥当的方法就是
    你要把控件们所在的区域挖掉
    永远不要主动刷新挖掉的区域
    也就是用InvalidateRgn代替Invalidate
    当然,还有更好的方法
    就是连控件的概念都不存在了
    所有效果都是画出来的
    比如:
      

  5.   

    在OnEraseBkgnd中返回FALSE
    在OnPaint使用CMemDC
      

  6.   

    创建一个内存设备对象成员,把需要绘制的控件什么的绘制到内存设备对象上,然后在OnPaint中通过BitBlt贴到环境设备对象上