X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8907154c1a8a6882c6797d1f16393ddfb23e7f3a..8fb824187dc3bb163823e56a1544e73437d5feb5:/src/msw/frame.cpp diff --git a/src/msw/frame.cpp b/src/msw/frame.cpp index c1904ead5c..69248ea9d6 100644 --- a/src/msw/frame.cpp +++ b/src/msw/frame.cpp @@ -518,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(); @@ -954,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());