diff --git a/src/msw/tbar95.cpp b/src/msw/tbar95.cpp index 7966a6cd19..4ed908d923 100644 --- a/src/msw/tbar95.cpp +++ b/src/msw/tbar95.cpp @@ -308,6 +308,15 @@ bool wxToolBar::MSWCreateToolbar(const wxPoint& pos, const wxSize& size) ::SendMessage(GetHwnd(), TB_SETEXTENDEDSTYLE, 0, TBSTYLE_EX_DRAWDDARROWS); #endif + // The toolbar background for some colour schemes cannot be determined + // (for example Silver). So set an explicit background colour to avoid parts of + // the background being painted wrongly. + + int majorVersion, minorVersion; + wxGetOsVersion(& majorVersion, & minorVersion); + if (majorVersion < 6) + SetBackgroundColour(GetBackgroundColour()); + return true; } @@ -414,7 +423,7 @@ wxSize wxToolBar::DoGetBestSize() const if (!(GetWindowStyle() & wxTB_NODIVIDER)) sizeBest.y += 2; sizeBest.y ++; - } + } CacheBestSize(sizeBest); @@ -1780,7 +1789,7 @@ bool wxToolBar::HandlePaint(WXWPARAM wParam, WXLPARAM lParam) // Necessary in case we use a no-paint-on-size // style in the parent: the controls can disappear control->Refresh(false); - } + } if ( staticText && rectStaticText.Intersects(rectItem) ) {