mfc笔记--父窗口 WS_CLIPCHILDREN 样式 对子窗口刷新的影响

父窗口 WS_CLIPCHILDREN 样式 对子窗口刷新的影响

写了下面的程序,测试下父窗口设置 WS_CLIPCHILDREN 前后,对父窗口调用 RedrawWindow 或 InvalidateRect 对子窗口刷新造成的影响

操作

WS_CLIPCHILDREN

WS_CLIPCHILDREN

InvalidateRect

父窗口的无效区域增加

对子窗口无影响

父窗口的无效区域增加

子窗口的无效区域增加

且无效区域坐标相同(屏幕坐标系下)

RedrawWindow

FLAG: RDW_INVALIDATE

父窗口的无效区域增加

对子窗口无影响

父窗口的无效区域增加

子窗口的无效区域增加

且无效区域坐标相同(屏幕坐标系下)

RedrawWindow

FLAG: RDW_INVALIDATE|RDW_ALLCHILDREN

父窗口的无效区域增加

子窗口的无效区域增加

且无效区域坐标相同(屏幕坐标系下)

父窗口的无效区域增加

子窗口的无效区域增加

且无效区域坐标相同(屏幕坐标系下)

RedrawWindow

FLAG: RDW_INVALIDATE|RDW_NOCHILDREN

父窗口的无效区域增加

对子窗口无影响

父窗口的无效区域增加

对子窗口无影响

其他窗口在父子窗口上移动

父窗口会接收到WM_PAINT消息,但是无效区域是 父窗口 排除子窗口后的区域和 其他当前移动的窗口区域的交集

子窗口会接收到wm_paint消息,无效区域是 子窗口和当前移动的窗口的区域的交集

父窗口会接收到WM_PAINT消息,但是无效区域是 父窗口当前移动的窗口区域的交集

子窗口会接收到wm_paint消息,无效区域是 子窗口和当前移动的窗口的区域的交集

原文地址:https://www.cnblogs.com/songtzu/p/3298573.html