// Copyright: (c) David Webster
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
// Copyright: (c) David Webster
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
- m_backgroundColour = pParent->GetBackgroundColour();
- m_foregroundColour = pParent->GetForegroundColour();
+ if (pParent)
+ {
+ m_backgroundColour = pParent->GetBackgroundColour();
+ m_foregroundColour = pParent->GetForegroundColour();
+ }
- long lSstyle = 0L;
-
- lSstyle = WS_VISIBLE |
- WS_TABSTOP |
- SPBS_MASTER | // We use only single field spin buttons
- SPBS_NUMERICONLY; // We default to numeric data
+ long lSstyle = WS_VISIBLE |
+ WS_TABSTOP |
+ SPBS_MASTER | // We use only single field spin buttons
+ SPBS_NUMERICONLY; // We default to numeric data
::WinSetWindowULong(GetHwnd(), QWL_USER, (LONG)this);
fnWndProcSpinCtrl = (WXFARPROC)::WinSubclassWindow(m_hWnd, (PFNWP)wxSpinCtrlWndProc);
#endif
::WinSetWindowULong(GetHwnd(), QWL_USER, (LONG)this);
fnWndProcSpinCtrl = (WXFARPROC)::WinSubclassWindow(m_hWnd, (PFNWP)wxSpinCtrlWndProc);
#endif
- // OS/2 PM does not really have system metrics so we'll just set it to
- // 24x20 which is the size of the buttons and the borders.
- // Also we have no horizontal spin buttons.
+ // OS/2 PM does not really have system metrics so we'll just set it to
+ // a square based on its height.
- return (wxSize(24,20));
+ RECTL vRect;
+ ::WinQueryWindowRect(GetHwnd(),&vRect);
+ return wxSize(vRect.yTop,vRect.yTop);
} // end of wxSpinButton::DoGetBestSize
// ----------------------------------------------------------------------------
} // end of wxSpinButton::DoGetBestSize
// ----------------------------------------------------------------------------
- wxSpinEvent vEvent( wxEVT_SCROLL_THUMBTRACK
- ,m_windowId
- );
- int nVal = (int)wPos; // cast is important for negative values!
+ wxSpinEvent vEvent( wxEVT_SCROLL_THUMBTRACK, m_windowId );
+ int nVal = (int)wPos; // cast is important for negative values!