Fix to allow proper positioning of child windows under OS/2 when auto layouts are not being done.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16862 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -108,6 +108,33 @@ void wxPanel::OnSize(wxSizeEvent& event)
|
|||||||
if (GetAutoLayout())
|
if (GetAutoLayout())
|
||||||
Layout();
|
Layout();
|
||||||
#endif // wxUSE_CONSTRAINTS
|
#endif // wxUSE_CONSTRAINTS
|
||||||
|
|
||||||
|
//
|
||||||
|
// Need to properly move child windows under OS/2
|
||||||
|
//
|
||||||
|
#if defined(__WXPM__)
|
||||||
|
else
|
||||||
|
{
|
||||||
|
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
|
||||||
event.Skip();
|
event.Skip();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user