X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/720afa24b0831889e2b2f1fefc21af566949d45c..5f7348ce627157e21bec507623ebd31c1e9dc762:/src/msw/scrolbar.cpp diff --git a/src/msw/scrolbar.cpp b/src/msw/scrolbar.cpp index 9c9da3082d..18670d6592 100644 --- a/src/msw/scrolbar.cpp +++ b/src/msw/scrolbar.cpp @@ -69,7 +69,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 +205,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 +224,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 +325,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 +344,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