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:
parent
f289196b3a
commit
879dcac2f1
@ -108,6 +108,33 @@ void wxPanel::OnSize(wxSizeEvent& event)
|
||||
if (GetAutoLayout())
|
||||
Layout();
|
||||
#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();
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user