有一个Parent Dlg ,是个无边框的Dlg,由于是自绘边框,所以是手动处理窗口的LButtonDown消息,然后调用
SendMessage( 
WM_NCLBUTTONDOWN,   HTRIGHT, 
MAKELPARAM   (point.x,   point.y)); 
等来实现拖拉窗口的效果的。Parent Dlg  有个子窗口叫  Sub  Dlg ,也是个Dlg窗口,这个Sub Dlg有个子窗口叫List Wnd,是个从CWnd派生出来的一个CWnd窗口。现在的问题是:在拖拉Parent Dlg的时候,会导致List Wnd闪屏,即使List Wnd什么也不绘制也会发生闪屏。其中已经对
              WM_ERASEBKGND消息做了return FALSE的处理。如果Sub  Dlg不作为Parent Dlg的子窗口,自己单独出来,对WM_SIZE消息进行相应,那么就不会发生闪屏
一直都不知道什么原因导致这种闪屏?望各位大哥指教。

解决方案 »

  1.   

    父窗口的WM_ERASEBKGND处理了么?
      

  2.   

    所有窗口都已经已经做了WM_ERASEBKGND消息的处理,而且Sub Dlg自己处理WM_SIZE消息来改变大小尺寸的时候,List Wnd窗口时不会闪屏的,就是当Sub Dlg作为Parent Dlg的子窗口,拖拉Parent Dlg的时候,会出现List Wnd 的闪屏 。。
      

  3.   

    父窗口有 WS_CLIPCHILDREN 吗?
      

  4.   

    Sub Dlg 也有 WS_CLIPCHILDREN 吗? 
      

  5.   

    来晚了
    就是 WS_CLIPCHILDREN 的原因!