wxPanel didn't inherit the background colour set for its parent any more in
wxMSW because its HasTransparentBackground() didn't return true unless the
panel was a child of wxNotebook. This was wrong because not only themed
notebook background should be inherited but also any solid background
explicitly set for a panel parent.
Fix this by returning true from MSWHasInheritableBackground(), which is used
by wxPanel::HasTransparentBackground() under MSW, if the window has an
explicitly set and inheritable background colour.
Closes #13487.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69348
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
// This should be overridden to return true for the controls which have
// themed background that should through their children. Currently only
// wxNotebook uses this.
- virtual bool MSWHasInheritableBackground() const { return false; }
+ //
+ // The base class version already returns true if we have a solid
+ // background colour that should be propagated to our children.
+ virtual bool MSWHasInheritableBackground() const
+ {
+ return InheritsBackgroundColour();
+ }
#if !defined(__WXWINCE__) && !defined(__WXUNIVERSAL__)
#define wxHAS_MSW_BACKGROUND_ERASE_HOOK