{
                 if ( child )
                 {
+#ifdef __WXPM__
+                    AlterChildPos();
+#endif
                     return;     // it's our second subwindow - nothing to do
                 }
 
 #endif
 
             child->SetSize(ofs, ofs, clientW - 2*ofs, clientH - 2*ofs);
+#ifdef __WXPM__
+            child->MoveChildren(m_vSwpClient.cy - clientH);
+            ::WinQueryWindowPos(GetHwnd(), &m_vSwpClient);
+#endif
         }
     }
 }
 {
 public:
     wxInteractiveMoveHandler(wxInteractiveMoveData& data) : m_data(data) {}
-    
+
 private:
     DECLARE_EVENT_TABLE()
     void OnMouseMove(wxMouseEvent& event);
 END_EVENT_TABLE()
 
 
-static inline LINKAGEMODE 
+static inline LINKAGEMODE
 void wxApplyResize(wxInteractiveMoveData& data, const wxPoint& diff)
 {
     if ( data.m_flags & wxINTERACTIVE_RESIZE_W )
     {
         data.m_rect.height += diff.y;
     }
-    
+
     if ( data.m_minSize.x != -1 && data.m_rect.width < data.m_minSize.x )
     {
         if ( data.m_flags & wxINTERACTIVE_RESIZE_W )
         m_data.m_flags &= ~wxINTERACTIVE_WAIT_FOR_INPUT;
         m_data.m_pos = wxGetMousePosition();
     }
-    
+
     wxPoint diff(-1,-1);
-    
+
     switch ( event.GetKeyCode() )
     {
         case WXK_UP:    diff = wxPoint(0, -16); break;
             m_data.m_evtLoop->Exit();
             return;
     }
-    
+
     if ( diff.x != -1 )
     {
         if ( m_data.m_flags & wxINTERACTIVE_MOVE )
     wxASSERT_MSG( !((flags & wxINTERACTIVE_MOVE) && (flags & wxINTERACTIVE_RESIZE)),
                   wxT("can't move and resize window at the same time") );
 
-    wxASSERT_MSG( !(flags & wxINTERACTIVE_RESIZE) || 
-                  (flags & wxINTERACTIVE_WAIT_FOR_INPUT) || 
+    wxASSERT_MSG( !(flags & wxINTERACTIVE_RESIZE) ||
+                  (flags & wxINTERACTIVE_WAIT_FOR_INPUT) ||
                   (flags & wxINTERACTIVE_RESIZE_DIR),
                   wxT("direction of resizing not specified") );
 
     wxInteractiveMoveData data;
     wxEventLoop loop;
     wxWindow *focus = FindFocus();
-    
+
     // FIXME - display resize cursor if waiting for initial input
 
     data.m_window = this;