- if ( !::MoveWindow(GetBuddyHwnd(), x, y, widthText, height, TRUE) )
- {
- wxLogLastError(wxT("MoveWindow(buddy)"));
- }
+ // if our parent had prepared a defer window handle for us, use it (unless
+ // we are a top level window)
+ wxWindowMSW *parent = GetParent();
+
+#if USE_DEFERRED_SIZING
+ HDWP hdwp = parent && !IsTopLevel() ? (HDWP)parent->m_hDWP : NULL;
+#else
+ HDWP hdwp = 0;
+#endif
+
+ // 1) The buddy window
+ wxMoveWindowDeferred(hdwp, this, GetBuddyHwnd(),
+ x, y, widthText, height);