小心使用 RedrawWindow 和 InvalidateRect 收藏
当父窗体设置了 WS_CLIPCHILDREN 的属性后, 默认状态下, RedrawWindow 和 InvalidateRect 不会导致子窗体重绘,因此,如果子窗体同时设置了 WS_EX_TRANSPARENT 属性,子窗体就会被父窗体刷没了。
解决的办法是 RedrawWindow 的时候添加 RDW_ALLCHILDREN 标志,强制子窗体也重绘,而不要使用默认的 RedrawWindow 和 InvalidateRect (当然也包括 Invalidate )。
RedrawWindow( 0, 0, RDW_ALLCHILDREN | RDW_INVALIDATE | RDW_UPDATENOW | RDW_ERASE); // 刷新时包括子窗体
当父窗体设置了WS_CLIPCHILDREN属性后,默认情况下RedrawWindow和InvalidateRect不会导致子窗体重绘。若子窗体同时设置了WS_EX_TRANSPARENT属性,则可能会导致子窗体无法正确显示。解决办法是在调用RedrawWindow时添加RDW_ALLCHILDREN标志。
2万+

被折叠的 条评论
为什么被折叠?



