如图,自绘在OnPaint消息中绘制,滑块移动后会出现严重的重影!请说明怎么解决,谢谢!

解决方案 »

  1.   

    这个是不是应该在OnEraseBackground里面直接return TRUE?
      

  2.   

    自绘CSliderCtrl,要看你是怎么自绘。
    最简单的一个例子,一条背景,一条进度,一个滑块。你的背景的rect肯定要包含进度的rect,滑块的rect的top和bottom可以和背景一样。假如你进度rect超过了背景的rect,就会出现这样的情况,背景的rect小于滑块的rect也会这样。当然我说的只是我遇到过的,假如你的情况不是这样,那我们可以再做讨论。
      

  3.   

    不是,OnEraseBackground里面我已经return TRUE了。背景就是如图的黑色,进度是蓝色,滑块是白色,所以按照Z轴顺序绘制。
      

  4.   

    你看看用其他界面遮住你的界面然后是不是就好了。
    如果是的话就跟我的问题一样了,我当时用的GetPatrent()->RedrawRect()好像,或者Invali....那个也可以。。不记得怎么拼写了。
      

  5.   

    仔细地看了你的图。
    感觉是滑块的在OnSize里边设置的rect位置不对或者是rect大于背景的rect,你多试一下rect的值,应该可以解决的。
      

  6.   

    今天也遇到这个问题了,把滑块的rect缩小一点,或者加Invalidate()都可以。
    至于原因,有哪位知道的说以下。