generate size event when the dialog is shown for consistency with frames and other ports (bug 1961671); this also makes workaround for showing the gripper in the previous revision unnecessary
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53590 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -256,13 +256,15 @@ bool wxDialog::Show(bool show)
|
|||||||
|
|
||||||
if ( show )
|
if ( show )
|
||||||
{
|
{
|
||||||
// dialogs don't get WM_SIZE message after creation unlike most (all?)
|
// dialogs don't get WM_SIZE message from ::ShowWindow() for some
|
||||||
// other windows and so could start their life non laid out correctly
|
// reason so generate it ourselves for consistency with frames and
|
||||||
// if we didn't call Layout() from here
|
// dialogs in other ports
|
||||||
//
|
//
|
||||||
// NB: normally we should call it just the first time but doing it
|
// NB: normally we should call it just the first time but doing it
|
||||||
// every time is simpler than keeping a flag
|
// every time is simpler than keeping a flag
|
||||||
Layout();
|
const wxSize size = GetClientSize();
|
||||||
|
::SendMessage(GetHwnd(), WM_SIZE,
|
||||||
|
SIZE_RESTORED, MAKELPARAM(size.x, size.y));
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@@ -520,20 +522,6 @@ WXLRESULT wxDialog::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lPar
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WM_WINDOWPOSCHANGED:
|
|
||||||
{
|
|
||||||
WINDOWPOS * const wp = wx_reinterpret_cast(WINDOWPOS *, lParam);
|
|
||||||
if ( wp->flags & SWP_SHOWWINDOW )
|
|
||||||
{
|
|
||||||
// we should only show it now to ensure that it's really
|
|
||||||
// positioned underneath under all the other controls in
|
|
||||||
// the dialog, if we showed it before it could overlap them
|
|
||||||
if ( m_hGripper )
|
|
||||||
ShowGripper(true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
#ifndef __WXMICROWIN__
|
#ifndef __WXMICROWIN__
|
||||||
case WM_SETCURSOR:
|
case WM_SETCURSOR:
|
||||||
// we want to override the busy cursor for modal dialogs:
|
// we want to override the busy cursor for modal dialogs:
|
||||||
|
Reference in New Issue
Block a user