我 具体的 自定义的控件采用了双缓冲,在滑动条移动时自定义控件也跟着变化,这个时候不会出现闪烁的现象,但是当我试图改变窗口大小的时候却出现了自定义的控件闪烁的现象、这种现象要如何解决,我OnPaint时已经采用了双缓冲。OnSize窗口大小时就不起做用了。

解决方案 »

  1.   

    是不是没有重载 OnEraseBkgnd,
    重载OnEraseBkgnd,在里面直接返回!
      

  2.   

    OnEraseBkgnd我直接返回的TRUE,我使用LockWindowUpdate时自定义控件不闪烁了,但是系统自定义的 控件如编辑框会出现残影。
      

  3.   

    双缓冲本来就不能解决闪烁,闪烁是因为背景被擦除,然后又绘制回前景色引起的。确保你所有Invalidate/InvalidateRect函数的擦除背景参数为FALSE。上面的函数还是用缺省的,你需要正确的OnEraseBkgnd
      

  4.   

    我试着Invalidate(FALSE)不顶用,还是闪烁哦。我在考虑,按里说我 调节窗口大小,然后调用自定义控件的OnPaint时采用了双缓冲就该没问题啊,但是,想不通。
      

  5.   

    把父窗口的clip children设置成True
      

  6.   

    对话框加上clip Sibling 和 clip Children属性