X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/720afa24b0831889e2b2f1fefc21af566949d45c..3f93a7508ea292a0ba836eefcccf20a716eaf135:/src/msw/scrolbar.cpp?ds=sidebyside diff --git a/src/msw/scrolbar.cpp b/src/msw/scrolbar.cpp index 9c9da3082d..99f318ec6b 100644 --- a/src/msw/scrolbar.cpp +++ b/src/msw/scrolbar.cpp @@ -9,10 +9,6 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma implementation "scrolbar.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -69,7 +65,7 @@ wxEND_FLAGS( wxScrollBarStyle ) IMPLEMENT_DYNAMIC_CLASS_XTI(wxScrollBar, wxControl,"wx/scrolbar.h") wxBEGIN_PROPERTIES_TABLE(wxScrollBar) - wxEVENT_RANGE_PROPERTY( Scroll , wxEVT_SCROLL_TOP , wxEVT_SCROLL_ENDSCROLL , wxScrollEvent ) + wxEVENT_RANGE_PROPERTY( Scroll , wxEVT_SCROLL_TOP , wxEVT_SCROLL_CHANGED , wxScrollEvent ) wxPROPERTY( ThumbPosition , int , SetThumbPosition, GetThumbPosition, 0 , 0 /*flags*/ , wxT("Helpstring") , wxT("group")) wxPROPERTY( Range , int , SetRange, GetRange, 0 , 0 /*flags*/ , wxT("Helpstring") , wxT("group")) @@ -205,7 +201,7 @@ bool wxScrollBar::MSWOnScroll(int WXUNUSED(orientation), WXWORD wParam, case SB_ENDSCROLL: nScrollInc = 0; - scrollEvent = wxEVT_SCROLL_ENDSCROLL; + scrollEvent = wxEVT_SCROLL_CHANGED; break; default: @@ -224,7 +220,7 @@ bool wxScrollBar::MSWOnScroll(int WXUNUSED(orientation), WXWORD wParam, SetThumbPosition(position); } else if ( scrollEvent != wxEVT_SCROLL_THUMBRELEASE && - scrollEvent != wxEVT_SCROLL_ENDSCROLL ) + scrollEvent != wxEVT_SCROLL_CHANGED ) { // don't process the event if there is no displacement, // unless this is a thumb release or end scroll event. @@ -325,7 +321,9 @@ wxSize wxScrollBar::DoGetBestSize() const h = wxSystemSettings::GetMetric(wxSYS_HSCROLL_Y); } - return wxSize(w, h); + wxSize best(w, h); + CacheBestSize(best); + return best; } WXDWORD wxScrollBar::MSWGetStyle(long style, WXDWORD *exstyle) const @@ -342,4 +340,13 @@ WXDWORD wxScrollBar::MSWGetStyle(long style, WXDWORD *exstyle) const return msStyle; } +WXHBRUSH wxScrollBar::MSWControlColor(WXHDC pDC, WXHWND hWnd) +{ + // unless we have an explicitly set bg colour, use default (gradient under + // XP) brush instead of GetBackgroundColour() one as the base class would + // + // note that fg colour isn't used for a scrollbar + return UseBgCol() ? wxControl::MSWControlColor(pDC, hWnd) : NULL; +} + #endif // wxUSE_SCROLLBAR