]> git.saurik.com Git - wxWidgets.git/blobdiff - src/os2/spinctrl.cpp
Some things needed in the base class of OS/2
[wxWidgets.git] / src / os2 / spinctrl.cpp
index ed056cafaf5b1f5c975a81dba26a99c5a3890be0..516ee8f9cb1c504cb645962971ad2a585dca2b10 100644 (file)
@@ -44,6 +44,7 @@ extern void  wxAssociateWinWithHandle( HWND         hWnd
                                       ,wxWindowOS2* pWin
                                      );
 static WXFARPROC fnWndProcSpinCtrl = (WXFARPROC)NULL;
+wxArraySpins                        wxSpinCtrl::m_svAllSpins;
 
 IMPLEMENT_DYNAMIC_CLASS(wxSpinCtrl, wxControl)
 
@@ -128,6 +129,8 @@ bool wxSpinCtrl::Create(
 , const wxString&                   rsName
 )
 {
+    SWP                             vSwp;
+
     if (vId == -1)
         m_windowId = NewControlId();
     else
@@ -176,6 +179,9 @@ bool wxSpinCtrl::Create(
     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
@@ -261,12 +267,9 @@ void wxSpinCtrl::DoMoveWindow(
 
     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
     {