父窗口 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消息,无效区域是 子窗口和当前移动的窗口的区域的交集 |