我用atl写了一个按钮,按钮的绘制全部在WM_PAINT消息中处理的,显示效果也很好,但就是当鼠标频繁地移进移出按钮时,会出现闪烁的问题。请高手帮忙!!

解决方案 »

  1.   

    还有就是响应WM_ERASEBKGND 在OnEraseBkgnd函数内直接return true;
    防止背景重绘
      

  2.   

    使用WM_ERASEBKGND还是不能解决问题 ,不知道是什么原因
      

  3.   

    我整个界面都是自己画的也没见闪烁,就是用了内存DC + 重载WM_ERASEBKGND。
    应该是LZ哪个地方做的有问题。
      

  4.   

    关键问题是应该在OnPaint里面直接画,在WM_ERASEBKGND里面使用内存绘图,在其他的地方不要使用任何的Invalidate();
      

  5.   

    窗口选clip children 和 clip sibling 属性可以解决很多闪烁问题。