From e1a6fc11e208d85b5dae82a8adc0dc7535cd5958 Mon Sep 17 00:00:00 2001 From: Julian Smart Date: Wed, 5 Aug 1998 16:35:09 +0000 Subject: [PATCH] Fixed popup menu processing git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@440 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/msw/frame.cpp | 9 +++++++++ src/msw/mdi.cpp | 17 +++++++++++++++++ src/msw/tbar95.cpp | 2 +- 3 files changed, 27 insertions(+), 1 deletion(-) diff --git a/src/msw/frame.cpp b/src/msw/frame.cpp index 4684891fc2..75f2e5d0af 100644 --- a/src/msw/frame.cpp +++ b/src/msw/frame.cpp @@ -47,6 +47,7 @@ extern wxList wxModelessWindows; extern wxList wxPendingDelete; extern char wxFrameClassName[]; +extern wxMenu *wxCurrentPopupMenu; #if !USE_SHARED_LIBRARY BEGIN_EVENT_TABLE(wxFrame, wxWindow) @@ -735,6 +736,14 @@ bool wxFrame::MSWOnCommand(WXWORD id, WXWORD cmd, WXHWND control) if (win) return win->MSWCommand(cmd, id); + if (wxCurrentPopupMenu) + { + wxMenu *popupMenu = wxCurrentPopupMenu; + wxCurrentPopupMenu = NULL; + if (popupMenu->MSWCommand(cmd, id)) + return TRUE; + } + if (GetMenuBar() && GetMenuBar()->FindItemForId(id)) { ProcessCommand(id); diff --git a/src/msw/mdi.cpp b/src/msw/mdi.cpp index 774b215ca1..cc61bb583a 100644 --- a/src/msw/mdi.cpp +++ b/src/msw/mdi.cpp @@ -41,6 +41,7 @@ #include extern wxList wxModelessWindows; +extern wxMenu *wxCurrentPopupMenu; #define IDM_WINDOWTILE 4001 #define IDM_WINDOWCASCADE 4002 @@ -486,6 +487,14 @@ bool wxMDIParentFrame::MSWOnCommand(WXWORD id, WXWORD cmd, WXHWND control) if (win) return win->MSWCommand(cmd, id); + if (wxCurrentPopupMenu) + { + wxMenu *popupMenu = wxCurrentPopupMenu; + wxCurrentPopupMenu = NULL; + if (!popupMenu->MSWCommand(cmd, id)) + return TRUE; + } + switch (id) { case IDM_WINDOWCASCADE: @@ -937,6 +946,14 @@ bool wxMDIChildFrame::MSWOnCommand(WXWORD id, WXWORD cmd, WXHWND control) if (win) return win->MSWCommand(cmd, id); + if (wxCurrentPopupMenu) + { + wxMenu *popupMenu = wxCurrentPopupMenu; + wxCurrentPopupMenu = NULL; + if (popupMenu->MSWCommand(cmd, id)) + return TRUE; + } + if (GetMenuBar() && GetMenuBar()->FindItemForId(id)) { ProcessCommand(id); diff --git a/src/msw/tbar95.cpp b/src/msw/tbar95.cpp index 21d8624e2a..f3a96868f7 100644 --- a/src/msw/tbar95.cpp +++ b/src/msw/tbar95.cpp @@ -105,7 +105,7 @@ bool wxToolBar95::Create(wxWindow *parent, wxWindowID id, const wxPoint& pos, co GetGValue(GetSysColor(COLOR_BTNFACE)), GetBValue(GetSysColor(COLOR_BTNFACE))); if (style & wxTB_VERTICAL) - wxMessageBox("Sorry, wxToolBar95 under Windows 95 only supports vertical tiling.", "wxToolBar95 usage", wxOK); + wxMessageBox("Sorry, wxToolBar95 under Windows 95 only supports horizontal orientation.", "wxToolBar95 usage", wxOK); m_maxWidth = -1; m_maxHeight = -1; -- 2.45.2