#ifdef __GNUG__
#pragma implementation "spinbutt.h"
+ #pragma implementation "spinbutbase.h"
#endif
// For compilers that support precompilation, includes "wx.h".
#if wxUSE_SPINBTN
+#include "wx/spinbutt.h"
+
+IMPLEMENT_DYNAMIC_CLASS(wxSpinEvent, wxNotifyEvent)
+
#if defined(__WIN95__) && !defined(__TWIN32__)
-#include "wx/spinbutt.h"
#include "wx/msw/private.h"
-#if !defined(__GNUWIN32__) || defined(__TWIN32__) || defined(wxUSE_NORLANDER_HEADERS)
+#if defined(__WIN95__) && !(defined(__GNUWIN32_OLD__) || defined(__TWIN32__))
#include <commctrl.h>
#endif
// wxWin macros
// ----------------------------------------------------------------------------
-#if !USE_SHARED_LIBRARY
- IMPLEMENT_DYNAMIC_CLASS(wxSpinButton, wxControl)
- IMPLEMENT_DYNAMIC_CLASS(wxSpinEvent, wxScrollEvent);
-#endif
+IMPLEMENT_DYNAMIC_CLASS(wxSpinButton, wxControl)
// ----------------------------------------------------------------------------
// wxSpinButton
y = 0;
// translate the styles
- DWORD wstyle = WS_VISIBLE | WS_CHILD | WS_TABSTOP |
- UDS_SETBUDDYINT; // it doesn't harm if we don't have buddy
+ DWORD wstyle = WS_VISIBLE | WS_CHILD | WS_TABSTOP | /* WS_CLIPSIBLINGS | */
+ UDS_NOTHOUSANDS | // never useful, sometimes harmful
+ UDS_SETBUDDYINT; // it doesn't harm if we don't have buddy
if ( m_windowStyle & wxSP_HORIZONTAL )
wstyle |= UDS_HORZ;
if ( !m_hWnd )
{
- wxLogLastError("CreateUpDownControl");
+ wxLogLastError(wxT("CreateUpDownControl"));
return FALSE;
}
// size calculation
// ----------------------------------------------------------------------------
-wxSize wxSpinButton::DoGetBestSize()
+wxSize wxSpinButton::DoGetBestSize() const
{
if ( (GetWindowStyle() & wxSP_VERTICAL) != 0 )
{
LPNMUPDOWN lpnmud = (LPNMUPDOWN)lParam;
#endif
+ if (lpnmud->hdr.hwndFrom != GetHwnd()) // make sure it is the right control
+ return FALSE;
+
wxSpinEvent event(lpnmud->iDelta > 0 ? wxEVT_SCROLL_LINEUP
: wxEVT_SCROLL_LINEDOWN,
m_windowId);