// headers
// ----------------------------------------------------------------------------
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
- #pragma implementation "spinbutt.h"
- #pragma implementation "spinbutbase.h"
-#endif
-
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
IMPLEMENT_DYNAMIC_CLASS(wxSpinEvent, wxNotifyEvent)
-#if defined(__WIN95__)
-
#include "wx/msw/private.h"
+#include "wx/msw/wrapcctl.h"
+
+#ifndef UDM_SETRANGE32
+ #define UDM_SETRANGE32 (WM_USER+111)
+#endif
-#if defined(__WIN95__) && !(defined(__GNUWIN32_OLD__) && !defined(__CYGWIN10__))
- #include <commctrl.h>
+#ifndef UDM_SETPOS32
+ #define UDM_SETPOS32 (WM_USER+113)
+ #define UDM_GETPOS32 (WM_USER+114)
#endif
// ============================================================================
wxSize wxSpinButton::DoGetBestSize() const
{
- return GetBestSpinerSize( (GetWindowStyle() & wxSP_VERTICAL) != 0 );
+ return GetBestSpinnerSize( (GetWindowStyle() & wxSP_VERTICAL) != 0 );
}
// ----------------------------------------------------------------------------
int wxSpinButton::GetValue() const
{
+ int n;
#ifdef UDM_GETPOS32
if ( wxTheApp->GetComCtl32Version() >= 580 )
{
// use the full 32 bit range if available
- return ::SendMessage(GetHwnd(), UDM_GETPOS32, 0, 0);
+ n = ::SendMessage(GetHwnd(), UDM_GETPOS32, 0, 0);
}
+ else
#endif // UDM_GETPOS32
+ {
+ // we're limited to 16 bit
+ n = (short)LOWORD(::SendMessage(GetHwnd(), UDM_GETPOS, 0, 0));
+ }
- // we're limited to 16 bit
- return (short)LOWORD(::SendMessage(GetHwnd(), UDM_GETPOS, 0, 0));
+ if (n < m_min) n = m_min;
+ if (n > m_max) n = m_max;
+
+ return n;
}
void wxSpinButton::SetValue(int val)
wxSpinButtonBase::SetRange(minVal, maxVal);
#ifdef UDM_SETRANGE32
- if ( wxTheApp->GetComCtl32Version() >= 471 )
+ if ( wxApp::GetComCtl32Version() >= 471 )
{
// use the full 32 bit range if available
::SendMessage(GetHwnd(), UDM_SETRANGE32, minVal, maxVal);
return false;
}
-#endif // __WIN95__
-
#endif // wxUSE_SPINBTN