X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ce96b7a010101e59a1a1c5b63fae52fb8231f367..803c55373484d1e2bfed85b46cbbfff8bfad1276:/src/msw/slidrmsw.cpp diff --git a/src/msw/slidrmsw.cpp b/src/msw/slidrmsw.cpp index 1bb9b0876d..2f27084534 100644 --- a/src/msw/slidrmsw.cpp +++ b/src/msw/slidrmsw.cpp @@ -52,7 +52,9 @@ bool wxSliderMSW::Create(wxWindow *parent, wxWindowID id, const wxString& name) { SetName(name); +#if wxUSE_VALIDATORS SetValidator(validator); +#endif // wxUSE_VALIDATORS if (parent) parent->AddChild(this); SetBackgroundColour(parent->GetBackgroundColour()) ; @@ -80,6 +82,9 @@ bool wxSliderMSW::Create(wxWindow *parent, wxWindowID id, long msStyle = WS_CHILD | WS_VISIBLE | WS_BORDER | SS_CENTER; + if ( m_windowStyle & wxCLIP_SIBLINGS ) + msStyle |= WS_CLIPSIBLINGS; + bool want3D; WXDWORD exStyle = Determine3DEffects(WS_EX_CLIENTEDGE, &want3D) ; @@ -90,14 +95,14 @@ bool wxSliderMSW::Create(wxWindow *parent, wxWindowID id, // Now create min static control wxSprintf(wxBuffer, wxT("%d"), minValue); + DWORD wstyle = STATIC_FLAGS; + if ( m_windowStyle & wxCLIP_SIBLINGS ) + wstyle |= WS_CLIPSIBLINGS; m_staticMin = (WXHWND) CreateWindowEx(0, wxT("STATIC"), wxBuffer, - STATIC_FLAGS, + wstyle, 0, 0, 0, 0, (HWND) parent->GetHWND(), (HMENU)NewControlId(), wxGetInstance(), NULL); - // Now create slider - m_windowId = (int)NewControlId(); - msStyle = 0; if (m_windowStyle & wxSL_VERTICAL) msStyle = SBS_VERT | WS_CHILD | WS_VISIBLE | WS_TABSTOP ; @@ -124,8 +129,11 @@ bool wxSliderMSW::Create(wxWindow *parent, wxWindowID id, // Finally, create max value static item wxSprintf(wxBuffer, wxT("%d"), maxValue); + wstyle = STATIC_FLAGS; + if ( m_windowStyle & wxCLIP_SIBLINGS ) + wstyle |= WS_CLIPSIBLINGS; m_staticMax = (WXHWND) CreateWindowEx(0, wxT("STATIC"), wxBuffer, - STATIC_FLAGS, + wstyle, 0, 0, 0, 0, (HWND) parent->GetHWND(), (HMENU)NewControlId(), wxGetInstance(), NULL); @@ -229,6 +237,7 @@ bool wxSliderMSW::MSWOnScroll(int WXUNUSED(orientation), WXWORD wParam, GetEventHandler()->ProcessEvent(event); wxCommandEvent cevent( wxEVT_COMMAND_SLIDER_UPDATED, GetId() ); + cevent.SetInt( newPos ); cevent.SetEventObject( this ); return GetEventHandler()->ProcessEvent( cevent );