]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/scrolbar.cpp
Don't skip after writing tab or we could get another one in some circumstances
[wxWidgets.git] / src / msw / scrolbar.cpp
index 48e10b9d713337fa493f96172411cb6f054ce820..18670d65926482d2298f12fcd5fba68941911cef 100644 (file)
@@ -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.
@@ -344,16 +344,13 @@ WXDWORD wxScrollBar::MSWGetStyle(long style, WXDWORD *exstyle) const
     return msStyle;
 }
 
-WXHBRUSH wxScrollBar::DoMSWControlColor(WXHDC pDC, wxColour colBg, WXHWND hWnd)
+WXHBRUSH wxScrollBar::MSWControlColor(WXHDC pDC, WXHWND hWnd)
 {
-    HDC hdc = (HDC)pDC;
-    if ( m_hasFgCol )
-    {
-        ::SetTextColor(hdc, wxColourToRGB(GetForegroundColour()));
-    }
-
-    WXHBRUSH hbr = 0;
-    return hbr;
+    // 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