Commited slighly modified fix by David Parsons.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@26591 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Stefan Neis
2004-04-03 17:43:43 +00:00
parent d628323f13
commit 8787320bbd

View File

@@ -102,15 +102,6 @@ bool wxSpinButton::Create(
if (m_windowStyle & wxCLIP_SIBLINGS ) if (m_windowStyle & wxCLIP_SIBLINGS )
lSstyle |= WS_CLIPSIBLINGS; lSstyle |= WS_CLIPSIBLINGS;
SPBCDATA vCtrlData;
vCtrlData.cbSize = sizeof(SPBCDATA);
vCtrlData.ulTextLimit = 10L;
vCtrlData.lLowerLimit = 0L;
vCtrlData.lUpperLimit = 100L;
vCtrlData.idMasterSpb = vId;
vCtrlData.pHWXCtlData = NULL;
m_hWnd = (WXHWND)::WinCreateWindow( GetWinHwnd(pParent) m_hWnd = (WXHWND)::WinCreateWindow( GetWinHwnd(pParent)
,WC_SPINBUTTON ,WC_SPINBUTTON
,(PSZ)NULL ,(PSZ)NULL
@@ -119,13 +110,14 @@ bool wxSpinButton::Create(
,GetWinHwnd(pParent) ,GetWinHwnd(pParent)
,HWND_TOP ,HWND_TOP
,(HMENU)vId ,(HMENU)vId
,(PVOID)&vCtrlData ,NULL
,NULL ,NULL
); );
if (m_hWnd == 0) if (m_hWnd == 0)
{ {
return FALSE; return FALSE;
} }
SetRange(m_min, m_max);
if(pParent) if(pParent)
pParent->AddChild((wxSpinButton *)this); pParent->AddChild((wxSpinButton *)this);
@@ -150,8 +142,13 @@ bool wxSpinButton::Create(
wxAssociateWinWithHandle( m_hWnd wxAssociateWinWithHandle( m_hWnd
,(wxWindowOS2*)this ,(wxWindowOS2*)this
); );
#if 0
// FIXME:
// Apparently, this does not work, as it crashes in setvalue/setrange calls
// What's it supposed to do anyway?
::WinSetWindowULong(GetHwnd(), QWL_USER, (LONG)this); ::WinSetWindowULong(GetHwnd(), QWL_USER, (LONG)this);
fnWndProcSpinCtrl = (WXFARPROC)::WinSubclassWindow(m_hWnd, (PFNWP)wxSpinCtrlWndProc); fnWndProcSpinCtrl = (WXFARPROC)::WinSubclassWindow(m_hWnd, (PFNWP)wxSpinCtrlWndProc);
#endif
delete pTextFont; delete pTextFont;
return TRUE; return TRUE;
} // end of wxSpinButton::Create } // end of wxSpinButton::Create
@@ -167,10 +164,11 @@ wxSpinButton::~wxSpinButton()
wxSize wxSpinButton::DoGetBestSize() const wxSize wxSpinButton::DoGetBestSize() const
{ {
// //
// OS/2 PM does not really have system metrics so we'll just set our best guess // 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. // Also we have no horizontal spin buttons.
// //
return (wxSize(10,20)); return (wxSize(24,20));
} // end of wxSpinButton::DoGetBestSize } // end of wxSpinButton::DoGetBestSize
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------