X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/cbc855087fd939c5c480ef22b5f72b14302849b7..e7445ff8ee26e39fab1e35455e1bef954bdf636f:/src/msw/scrolbar.cpp diff --git a/src/msw/scrolbar.cpp b/src/msw/scrolbar.cpp index 18670d6592..ea7ab3a869 100644 --- a/src/msw/scrolbar.cpp +++ b/src/msw/scrolbar.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: msw/scrolbar.cpp +// Name: src/msw/scrolbar.cpp // Purpose: wxScrollBar // Author: Julian Smart // Modified by: @@ -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" @@ -24,11 +20,11 @@ #ifndef WX_PRECOMP #include "wx/utils.h" + #include "wx/settings.h" #endif #include "wx/scrolbar.h" #include "wx/msw/private.h" -#include "wx/settings.h" #if wxUSE_EXTENDED_RTTI WX_DEFINE_FLAGS( wxScrollBarStyle ) @@ -150,25 +146,23 @@ bool wxScrollBar::MSWOnScroll(int WXUNUSED(orientation), WXWORD wParam, } #endif -#if defined(__WIN95__) // A page size greater than one has the effect of reducing the effective // range, therefore the range has already been boosted artificially - so // reduce it again. if ( m_pageSize > 1 ) maxPos -= (m_pageSize - 1); -#endif // __WIN95__ wxEventType scrollEvent = wxEVT_NULL; int nScrollInc; switch ( wParam ) { - case SB_BOTTOM: + case SB_TOP: nScrollInc = maxPos - position; scrollEvent = wxEVT_SCROLL_TOP; break; - case SB_TOP: + case SB_BOTTOM: nScrollInc = -position; scrollEvent = wxEVT_SCROLL_BOTTOM; break; @@ -241,7 +235,6 @@ bool wxScrollBar::MSWOnScroll(int WXUNUSED(orientation), WXWORD wParam, void wxScrollBar::SetThumbPosition(int viewStart) { -#if defined(__WIN95__) SCROLLINFO info; info.cbSize = sizeof(SCROLLINFO); info.nPage = 0; @@ -250,9 +243,6 @@ void wxScrollBar::SetThumbPosition(int viewStart) info.fMask = SIF_POS ; ::SetScrollInfo((HWND) GetHWND(), SB_CTL, &info, TRUE); -#else - ::SetScrollPos((HWND) GetHWND(), SB_CTL, viewStart, TRUE); -#endif } int wxScrollBar::GetThumbPosition(void) const @@ -273,36 +263,31 @@ int wxScrollBar::GetThumbPosition(void) const void wxScrollBar::SetScrollbar(int position, int thumbSize, int range, int pageSize, bool refresh) { - m_viewSize = pageSize; - m_pageSize = thumbSize; - m_objectSize = range; - - // The range (number of scroll steps) is the - // object length minus the page size. - int range1 = wxMax((m_objectSize - m_pageSize), 0) ; - -#if defined(__WIN95__) - // Try to adjust the range to cope with page size > 1 - // (see comment for SetPageLength) - if ( m_pageSize > 1 ) - { - range1 += (m_pageSize - 1); - } - - SCROLLINFO info; - info.cbSize = sizeof(SCROLLINFO); - info.nPage = m_pageSize; - info.nMin = 0; - info.nMax = range1; - info.nPos = position; - - info.fMask = SIF_PAGE | SIF_RANGE | SIF_POS; - - ::SetScrollInfo((HWND) GetHWND(), SB_CTL, &info, refresh); -#else - ::SetScrollPos((HWND)m_hWnd, SB_CTL, position, refresh); - ::SetScrollRange((HWND)m_hWnd, SB_CTL, 0, range1, refresh); -#endif + m_viewSize = pageSize; + m_pageSize = thumbSize; + m_objectSize = range; + + // The range (number of scroll steps) is the + // object length minus the page size. + int range1 = wxMax((m_objectSize - m_pageSize), 0) ; + + // Try to adjust the range to cope with page size > 1 + // (see comment for SetPageLength) + if ( m_pageSize > 1 ) + { + range1 += (m_pageSize - 1); + } + + SCROLLINFO info; + info.cbSize = sizeof(SCROLLINFO); + info.nPage = m_pageSize; + info.nMin = 0; + info.nMax = range1; + info.nPos = position; + + info.fMask = SIF_PAGE | SIF_RANGE | SIF_POS; + + ::SetScrollInfo((HWND) GetHWND(), SB_CTL, &info, refresh); } void wxScrollBar::Command(wxCommandEvent& event)