X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/855ec9441047849e90759978fe11a8e050411056..fd39aa23bc480afd9b76bd98f23d97452c7ab0a6:/src/msw/frame.cpp diff --git a/src/msw/frame.cpp b/src/msw/frame.cpp index 90f1be2607..69248ea9d6 100644 --- a/src/msw/frame.cpp +++ b/src/msw/frame.cpp @@ -17,10 +17,6 @@ // headers // ---------------------------------------------------------------------------- -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma implementation "frame.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -522,8 +518,27 @@ bool wxFrame::ShowFullScreen(bool show, long style) } #endif // wxUSE_TOOLBAR - if ((m_fsStyle & wxFULLSCREEN_NOMENUBAR) && m_hMenu) - ::SetMenu(GetHwnd(), (HMENU)m_hMenu); + if (m_fsStyle & wxFULLSCREEN_NOMENUBAR) + { + WXHMENU menu = m_hMenu; + +#if wxUSE_MDI_ARCHITECTURE + wxMDIParentFrame *frame = wxDynamicCast(this, wxMDIParentFrame); + if (frame) + { + wxMDIChildFrame *child = frame->GetActiveChild(); + if (child) + { + menu = child->GetWinMenu(); + } + } +#endif // wxUSE_MDI_ARCHITECTURE + + if (menu) + { + ::SetMenu(GetHwnd(), (HMENU)menu); + } + } #if wxUSE_STATUSBAR wxStatusBar *theStatusBar = GetStatusBar(); @@ -958,7 +973,7 @@ WXLRESULT wxFrame::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lPara SHACTIVATEINFO* info = (SHACTIVATEINFO*) m_activateInfo; if (info) SHHandleWMActivate(GetHwnd(), wParam, lParam, info, FALSE); - + // This implicitly sends a wxEVT_ACTIVATE_APP event if (wxTheApp) wxTheApp->SetActive(wParam != 0, FindFocus());