+void wxPanel::OnSize(wxSizeEvent& event)
+{
+#if wxUSE_CONSTRAINTS
+ if (GetAutoLayout())
+ Layout();
+#if defined(__WXPM__)
+ else
+ {
+ // Need to properly move child windows under OS/2
+
+ PSWP pWinSwp = GetSwp();
+
+ if (pWinSwp->cx == 0 && pWinSwp->cy == 0 && pWinSwp->fl == 0)
+ {
+ // Uninitialized
+
+ ::WinQueryWindowPos(GetHWND(), pWinSwp);
+ }
+ else
+ {
+ SWP vSwp;
+ int nYDiff;
+
+ ::WinQueryWindowPos(GetHWND(), &vSwp);
+ nYDiff = pWinSwp->cy - vSwp.cy;
+ MoveChildren(nYDiff);
+ pWinSwp->cx = vSwp.cx;
+ pWinSwp->cy = vSwp.cy;
+ }
+ }
+#endif
+#endif // wxUSE_CONSTRAINTS
+
+ event.Skip();
+}
+