X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d8a3f66ca7773885b7d396b86e49457abfccd6a9..53fd991c445a07562b8d7e9ecaf9fc599c19dd4f:/src/os2/slider.cpp diff --git a/src/os2/slider.cpp b/src/os2/slider.cpp index e8558d2e8d..7f2ba24e7f 100644 --- a/src/os2/slider.cpp +++ b/src/os2/slider.cpp @@ -200,6 +200,15 @@ bool wxSlider::Create( { lMsStyle |= WS_VISIBLE | SS_TEXT | DT_VCENTER; + // + // If the parent is a scrolled window the controls must + // have this style or they will overlap the scrollbars + // + if (pParent) + if (pParent->IsKindOf(CLASSINFO(wxScrolledWindow)) || + pParent->IsKindOf(CLASSINFO(wxGenericScrolledWindow))) + lMsStyle |= WS_CLIPSIBLINGS; + m_hStaticValue = (WXHWND)::WinCreateWindow( (HWND)GetHwndOf(pParent) // Parent window handle ,WC_STATIC // Window class ,(PSZ)NULL // Initial Text @@ -219,6 +228,15 @@ bool wxSlider::Create( lWstyle = SS_TEXT|DT_LEFT|WS_VISIBLE; if (m_windowStyle & wxCLIP_SIBLINGS) lWstyle |= WS_CLIPSIBLINGS; + // + // If the parent is a scrolled window the controls must + // have this style or they will overlap the scrollbars + // + if (pParent) + if (pParent->IsKindOf(CLASSINFO(wxScrolledWindow)) || + pParent->IsKindOf(CLASSINFO(wxGenericScrolledWindow))) + lWstyle |= WS_CLIPSIBLINGS; + m_hStaticMin = (WXHWND)::WinCreateWindow( (HWND)GetHwndOf(pParent) // Parent window handle ,WC_STATIC // Window class ,(PSZ)wxBuffer // Initial Text @@ -263,6 +281,15 @@ bool wxSlider::Create( else lMsStyle |= SLS_PRIMARYSCALE2; + // + // If the parent is a scrolled window the controls must + // have this style or they will overlap the scrollbars + // + if (pParent) + if (pParent->IsKindOf(CLASSINFO(wxScrolledWindow)) || + pParent->IsKindOf(CLASSINFO(wxGenericScrolledWindow))) + lMsStyle |= WS_CLIPSIBLINGS; + m_nPageSize = ((nMaxValue - nMinValue)/10); vSlData.usScale1Increments = m_nPageSize; vSlData.usScale2Increments = m_nPageSize; @@ -311,6 +338,15 @@ bool wxSlider::Create( lWstyle = SS_TEXT|DT_LEFT|WS_VISIBLE; if (m_windowStyle & wxCLIP_SIBLINGS) lMsStyle |= WS_CLIPSIBLINGS; + // + // If the parent is a scrolled window the controls must + // have this style or they will overlap the scrollbars + // + if (pParent) + if (pParent->IsKindOf(CLASSINFO(wxScrolledWindow)) || + pParent->IsKindOf(CLASSINFO(wxGenericScrolledWindow))) + lWstyle |= WS_CLIPSIBLINGS; + m_hStaticMax = (WXHWND)::WinCreateWindow( (HWND)GetHwndOf(pParent) // Parent window handle ,WC_STATIC // Window class ,(PSZ)wxBuffer // Initial Text @@ -382,6 +418,27 @@ bool wxSlider::Create( ,sizeof(LONG) ,(PVOID)&lColor ); + lColor = (LONG)m_backgroundColour.GetPixel(); + ::WinSetPresParam( m_hStaticMin + ,PP_BACKGROUNDCOLOR + ,sizeof(LONG) + ,(PVOID)&lColor + ); + ::WinSetPresParam( m_hStaticMax + ,PP_BACKGROUNDCOLOR + ,sizeof(LONG) + ,(PVOID)&lColor + ); + ::WinSetPresParam( m_hStaticValue + ,PP_BACKGROUNDCOLOR + ,sizeof(LONG) + ,(PVOID)&lColor + ); + ::WinSetPresParam( m_hWnd + ,PP_BACKGROUNDCOLOR + ,sizeof(LONG) + ,(PVOID)&lColor + ); SetValue(nValue); return TRUE; } // end of wxSlider::Create