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))
{
return m_hasBgCol ? GetBackgroundColour() : wxNullColour;
return m_inheritBgCol ? GetBackgroundColour() : wxNullColour;
}
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() )
{
// background is not inherited beyond the containing TLW
if ( win->IsTopLevel() )
break;
WXHBRUSH hBrush = MSWGetBgBrushForSelf(win, hDC);
if ( 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;