]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/scrolbar.cpp
attempt to fix compilation for old imagehlp.h header
[wxWidgets.git] / src / msw / scrolbar.cpp
index 63cc9f5d4030914412d75e16fa762d9f04e2e84d..9f7c9ce1467a57d2039461688a59520bc59bac9a 100644 (file)
@@ -53,6 +53,9 @@ bool wxScrollBar::Create(wxWindow *parent, wxWindowID id,
     SetValidator(validator);
 #endif // wxUSE_VALIDATORS
 
+    if ((style & wxBORDER_MASK) == wxBORDER_DEFAULT)
+        style |= wxNO_BORDER;
+
     SetBackgroundColour(parent->GetBackgroundColour()) ;
     SetForegroundColour(parent->GetForegroundColour()) ;
     m_windowStyle = style;
@@ -85,11 +88,6 @@ bool wxScrollBar::Create(wxWindow *parent, wxWindowID id,
     WXDWORD exStyle = 0;
     WXDWORD wstyle = MSWGetStyle(style, & exStyle) ;
 
-/*    
-    if ( m_windowStyle & wxCLIP_SIBLINGS )
-      wstyle |= WS_CLIPSIBLINGS;
-*/
-
     // Now create scrollbar
     DWORD _direction = (style & wxHORIZONTAL) ?
                         SBS_HORZ: SBS_VERT;
@@ -129,10 +127,11 @@ bool wxScrollBar::MSWOnScroll(int WXUNUSED(orientation), WXWORD wParam,
     int position,
         maxPos, trackPos = pos;
 
-#ifdef __WIN32__
     // when we're dragging the scrollbar we can't use pos parameter because it
     // is limited to 16 bits
-    if ( wParam == SB_THUMBPOSITION || wParam == SB_THUMBTRACK )
+    // JACS: now always using GetScrollInfo, since there's no reason
+    // not to
+//    if ( wParam == SB_THUMBPOSITION || wParam == SB_THUMBTRACK )
     {
         SCROLLINFO scrollInfo;
         wxZeroMemory(scrollInfo);
@@ -152,13 +151,14 @@ bool wxScrollBar::MSWOnScroll(int WXUNUSED(orientation), WXWORD wParam,
         position = scrollInfo.nPos;
         maxPos = scrollInfo.nMax;
     }
+#if 0
     else
-#endif // Win32
     {
         position = ::GetScrollPos((HWND) control, SB_CTL);
         int minPos;
         ::GetScrollRange((HWND) control, SB_CTL, &minPos, &maxPos);
     }
+#endif
 
 #if defined(__WIN95__)
     // A page size greater than one has the effect of reducing the effective
@@ -267,7 +267,17 @@ void wxScrollBar::SetThumbPosition(int viewStart)
 
 int wxScrollBar::GetThumbPosition(void) const
 {
-    return ::GetScrollPos((HWND)m_hWnd, SB_CTL);
+    SCROLLINFO scrollInfo;
+    wxZeroMemory(scrollInfo);
+    scrollInfo.cbSize = sizeof(SCROLLINFO);
+    scrollInfo.fMask = SIF_POS;
+    
+    if ( !::GetScrollInfo(GetHwnd(), SB_CTL, &scrollInfo) )
+    {
+        wxLogLastError(_T("GetScrollInfo"));
+    }
+    return scrollInfo.nPos;
+//    return ::GetScrollPos((HWND)m_hWnd, SB_CTL);
 }
 
 void wxScrollBar::SetScrollbar(int position, int thumbSize, int range, int pageSize,