]> git.saurik.com Git - wxWidgets.git/commitdiff
Fixed popup menu processing
authorJulian Smart <julian@anthemion.co.uk>
Wed, 5 Aug 1998 16:35:09 +0000 (16:35 +0000)
committerJulian Smart <julian@anthemion.co.uk>
Wed, 5 Aug 1998 16:35:09 +0000 (16:35 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@440 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/msw/frame.cpp
src/msw/mdi.cpp
src/msw/tbar95.cpp

index 4684891fc282cb643437217200d13f12425202dd..75f2e5d0af36908376e055f14a24aac9da00e2fc 100644 (file)
@@ -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);
index 774b215ca1810175fa455384ad2d284cf85d674b..cc61bb583af5989907f87a37030c3ae1fd067e3e 100644 (file)
@@ -41,6 +41,7 @@
 #include <string.h>
 
 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);
index 21d8624e2afd0003f061ab698c92afaa25f8577c..f3a96868f7e162548effe8247796f550b6ea6fda 100644 (file)
@@ -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;