Fix for bug [ 744199 ] wxBringWindowToTop, child window z-order

A child window should only have it's z-order raised, not
the parent window brought to the front.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20842 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart
2003-06-01 21:01:18 +00:00
parent e00865fab6
commit 313901f3e5
4 changed files with 11 additions and 6 deletions

View File

@@ -30,7 +30,7 @@
AlwaysCreateUninstallIcon=1
UninstallIconName=Uninstall wxWindows 2.5.0
Uninstallable=1
DefaultDirName=c:\wxWindows_2.5.0
DefaultDirName=c:\wxWindows-2.5.0
DefaultGroupName=wxWindows 2.5.0
LicenseFile=C:\wx24\wxWindows\docs\licence.txt
InfoBeforeFile=C:\wx24\wxWindows\docs\readme.txt

View File

@@ -78,6 +78,8 @@ public:
// override some base class virtuals
virtual bool Show(bool show = TRUE);
virtual void Raise();
// event handlers
void OnCharHook(wxKeyEvent& event);
void OnCloseWindow(wxCloseEvent& event);

View File

@@ -339,6 +339,11 @@ bool wxDialog::Show(bool show)
return TRUE;
}
void wxDialog::Raise()
{
::SetForegroundWindow(GetHwnd());
}
// a special version for Show(TRUE) for modal dialogs which returns return code
int wxDialog::ShowModal()
{

View File

@@ -217,15 +217,13 @@ static inline void wxBringWindowToTop(HWND hwnd)
// activate (set focus to) specified window
::SetFocus(hwnd);
#endif
// raise top level parent to top of z order
::SetWindowPos(hwnd, HWND_TOP, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
#else // !__WXMICROWIN__
if ( !::BringWindowToTop(hwnd) )
if (!::SetWindowPos(hwnd, HWND_TOP, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE))
{
wxLogLastError(_T("BringWindowToTop"));
wxLogLastError(_T("SetWindowPos"));
}
#endif // __WXMICROWIN__/!__WXMICROWIN__
}
// ---------------------------------------------------------------------------