,wxWindowOS2* pWin
);
static WXFARPROC fnWndProcSpinCtrl = (WXFARPROC)NULL;
+wxArraySpins wxSpinCtrl::m_svAllSpins;
IMPLEMENT_DYNAMIC_CLASS(wxSpinCtrl, wxControl)
, const wxString& rsName
)
{
+ SWP vSwp;
+
if (vId == -1)
m_windowId = NewControlId();
else
if (m_windowStyle & wxCLIP_SIBLINGS )
lSstyle |= WS_CLIPSIBLINGS;
+ //
+ // If the parent is a scrolled window the controls must
+ // have this style or they will overlap the scrollbars
+ //
+ if (pParent)
+ if (pParent->IsKindOf(CLASSINFO(wxScrolledWindow)) ||
+ pParent->IsKindOf(CLASSINFO(wxGenericScrolledWindow)))
+ lSstyle |= WS_CLIPSIBLINGS;
+
SPBCDATA vCtrlData;
vCtrlData.cbSize = sizeof(SPBCDATA);
if(pParent)
pParent->AddChild((wxSpinButton *)this);
SetFont(pParent->GetFont());
+ ::WinQueryWindowPos(m_hWnd, &vSwp);
+ SetXComp(vSwp.x);
+ SetYComp(vSwp.y);
SetSize( rPos.x
,rPos.y
,rSize.x
if (pParent)
{
- if (pParent->IsKindOf(CLASSINFO(wxFrame)))
- {
- nY = pParent->GetClientSize().y - (nY + nHeight);
- }
- else
- nY = pParent->GetSize().y - (nY + nHeight);
+ int nOS2Height = GetOS2ParentHeight(pParent);
+
+ nY = nOS2Height - (nY + nHeight);
}
else
{