首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

无边框Dlg窗口实现拖拉 ,导致子窗口闪屏,该如何解决

2012-01-24 
无边框Dlg窗口实现拖拉 ,导致子窗口闪屏有一个Parent Dlg ,是个无边框的Dlg,由于是自绘边框,所以是手动处

无边框Dlg窗口实现拖拉 ,导致子窗口闪屏
有一个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消息进行相应,那么就不会发生闪屏


一直都不知道什么原因导致这种闪屏?望各位大哥指教。

[解决办法]
父窗口的WM_ERASEBKGND处理了么?
[解决办法]
Sub Dlg 也有 WS_CLIPCHILDREN 吗?

热点排行