X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8a8dcc3421f4740681173a6fbe8359fc977599dc..4c2740ec0f18a2e657d53377031fc2dfce974f08:/src/msw/slider95.cpp diff --git a/src/msw/slider95.cpp b/src/msw/slider95.cpp index f58b8902fd..1f1f651ff9 100644 --- a/src/msw/slider95.cpp +++ b/src/msw/slider95.cpp @@ -103,6 +103,7 @@ wxBEGIN_FLAGS( wxSliderStyle ) wxFLAGS_MEMBER(wxSL_BOTTOM) wxFLAGS_MEMBER(wxSL_BOTH) wxFLAGS_MEMBER(wxSL_SELRANGE) + wxFLAGS_MEMBER(wxSL_INVERSE) wxEND_FLAGS( wxSliderStyle ) @@ -306,7 +307,7 @@ bool wxSlider95::MSWOnScroll(int WXUNUSED(orientation), return false; } - int newPos = (int) ::SendMessage((HWND) control, TBM_GETPOS, 0, 0); + int newPos = ValueInvertOrNot((int) ::SendMessage((HWND) control, TBM_GETPOS, 0, 0)); if ( (newPos < GetMin()) || (newPos > GetMax()) ) { // out of range - but we did process it @@ -346,7 +347,11 @@ wxRect wxSlider95::GetBoundingBox() const wxRect rect(x, y, w, h); if ( m_labels ) - rect.Union(m_labels->GetBoundingBox()); + { + wxRect lrect = m_labels->GetBoundingBox(); + GetParent()->ScreenToClient(&lrect.x, &lrect.y); + rect.Union(lrect); + } return rect; } @@ -504,12 +509,12 @@ wxSize wxSlider95::DoGetBestSize() const int wxSlider95::GetValue() const { - return ::SendMessage(GetHwnd(), TBM_GETPOS, 0, 0); + return ValueInvertOrNot(::SendMessage(GetHwnd(), TBM_GETPOS, 0, 0)); } void wxSlider95::SetValue(int value) { - ::SendMessage(GetHwnd(), TBM_SETPOS, (WPARAM)TRUE, (LPARAM)value); + ::SendMessage(GetHwnd(), TBM_SETPOS, (WPARAM)TRUE, (LPARAM)ValueInvertOrNot(value)); if ( m_labels ) { @@ -526,8 +531,8 @@ void wxSlider95::SetRange(int minValue, int maxValue) if ( m_labels ) { - ::SetWindowText((*m_labels)[SliderLabel_Min], Format(m_rangeMin)); - ::SetWindowText((*m_labels)[SliderLabel_Max], Format(m_rangeMax)); + ::SetWindowText((*m_labels)[SliderLabel_Min], Format(ValueInvertOrNot(m_rangeMin))); + ::SetWindowText((*m_labels)[SliderLabel_Max], Format(ValueInvertOrNot(m_rangeMax))); } } @@ -593,12 +598,12 @@ void wxSlider95::SetThumbLength(int len) int wxSlider95::GetThumbLength() const { - return (int)::SendMessage( GetHwnd(), TBM_GETTHUMBLENGTH, 0, 0); + return (int)::SendMessage( GetHwnd(), TBM_GETTHUMBLENGTH, 0, 0); } void wxSlider95::SetTick(int tickPos) { - ::SendMessage( GetHwnd(), TBM_SETTIC, (WPARAM) 0, (LPARAM) tickPos ); + ::SendMessage( GetHwnd(), TBM_SETTIC, (WPARAM) 0, (LPARAM) tickPos ); } // ---------------------------------------------------------------------------- @@ -620,42 +625,6 @@ WXHWND wxSlider95::GetEditValue() const return m_labels ? (WXHWND)(*m_labels)[SliderLabel_Value] : NULL; } -bool wxSlider95::ContainsHWND(WXHWND hWnd) const -{ - return m_labels && m_labels->HasWindow((HWND)hWnd); -} - -bool wxSlider95::Show(bool show) -{ - if ( !wxSliderBase::Show(show) ) - return false; - - if ( m_labels ) - m_labels->Show(show); - - return true; -} - -bool wxSlider95::Enable(bool enable) -{ - if ( !wxSliderBase::Enable(enable) ) - return false; - - if ( m_labels ) - m_labels->Enable(enable); - - return true; -} - -bool wxSlider95::SetFont(const wxFont& font) -{ - if ( !wxSliderBase::SetFont(font) ) - return false; - - if ( m_labels ) - m_labels->SetFont(font); - - return true; -} +WX_FORWARD_STD_METHODS_TO_SUBWINDOWS(wxSlider95, wxSliderBase, m_labels) #endif // wxUSE_SLIDER