only use our background for children if it's inheritable

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31072 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2004-12-19 20:39:36 +00:00
parent 98a02e87ad
commit 24cb401947

View File

@@ -4048,7 +4048,7 @@ WXHBRUSH wxWindowMSW::MSWGetSolidBgBrushForChild(wxWindow *child)
wxColour wxWindowMSW::MSWGetBgColourForChild(wxWindow * WXUNUSED(child)) wxColour wxWindowMSW::MSWGetBgColourForChild(wxWindow * WXUNUSED(child))
{ {
return m_hasBgCol ? GetBackgroundColour() : wxNullColour; return m_inheritBgCol ? GetBackgroundColour() : wxNullColour;
} }
WXHBRUSH wxWindowMSW::MSWGetBgBrushForSelf(wxWindow *parent, WXHDC hDC) WXHBRUSH wxWindowMSW::MSWGetBgBrushForSelf(wxWindow *parent, WXHDC hDC)
@@ -4060,13 +4060,14 @@ WXHBRUSH wxWindowMSW::MSWGetBgBrush(WXHDC hDC)
{ {
for ( wxWindow *win = (wxWindow *)this; win; win = win->GetParent() ) for ( wxWindow *win = (wxWindow *)this; win; win = win->GetParent() )
{ {
// background is not inherited beyond the containing TLW
if ( win->IsTopLevel() )
break;
WXHBRUSH hBrush = MSWGetBgBrushForSelf(win, hDC); WXHBRUSH hBrush = MSWGetBgBrushForSelf(win, hDC);
if ( hBrush ) if ( hBrush )
return hBrush; return hBrush;
// background is not inherited beyond the windows which have their own
// fixed background such as top level windows and notebooks
if ( win->IsTopLevel() /* ProvidesBackground() */ )
break;
} }
return 0; return 0;