From: Julian Smart Date: Wed, 8 Mar 2000 08:25:42 +0000 (+0000) Subject: Added WIN16 code for window disabler X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/62ea79f3813114bef60645a831f493d96ab6bc33 Added WIN16 code for window disabler git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6515 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/common/utilscmn.cpp b/src/common/utilscmn.cpp index c9e9207ebb..7a971cb5ac 100644 --- a/src/common/utilscmn.cpp +++ b/src/common/utilscmn.cpp @@ -984,9 +984,14 @@ wxWindowDisabler::wxWindowDisabler(wxWindow *winToSkip) m_winDisabled = new wxWindowList; #ifdef __WXMSW__ +#ifdef __WIN32__ // and the top level window too HWND hwndFG = ::GetForegroundWindow(); m_winTop = hwndFG ? wxFindWinFromHandle((WXHWND)hwndFG) : (wxWindow *)NULL; +#else + HWND hwndFG = ::GetTopWindow(); + m_winTop = hwndFG ? wxFindWinFromHandle((WXHWND)hwndFG) : (wxWindow *)NULL; +#endif #endif // MSW wxWindowList::Node *node; @@ -1021,6 +1026,7 @@ wxWindowDisabler::~wxWindowDisabler() delete m_winDisabled; #ifdef __WXMSW__ +#ifdef __WIN32__ if ( m_winTop ) { if ( !::SetForegroundWindow(GetHwndOf(m_winTop)) ) @@ -1028,6 +1034,18 @@ wxWindowDisabler::~wxWindowDisabler() wxLogLastError("SetForegroundWindow"); } } +#else + if ( m_winTop ) + { + // 16-bit SetForegroundWindow() replacement + RECT reWin; + GetWindowRect(m_winTop, &reWin); + SetWindowPos (m_winTop, HWND_TOP, + reWin.left, reWin.top, + reWin.right - reWin.left, reWin.bottom, + SWP_SHOWWINDOW); + } +#endif #endif // MSW }