]> git.saurik.com Git - wxWidgets.git/commitdiff
handle accelerators for buttons, too
authorVáclav Slavík <vslavik@fastmail.fm>
Thu, 14 Feb 2002 00:38:09 +0000 (00:38 +0000)
committerVáclav Slavík <vslavik@fastmail.fm>
Thu, 14 Feb 2002 00:38:09 +0000 (00:38 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14193 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/univ/winuniv.cpp

index 56bf92060d7e57522df49d46e48d6cc451b29a0c..0f5b59001421b9697f69391fa561bef63663222f 100644 (file)
@@ -991,6 +991,22 @@ void wxWindow::OnKeyDown(wxKeyEvent& event)
             }
 #endif // wxUSE_MENUS
 
             }
 #endif // wxUSE_MENUS
 
+            // if it wasn't in a menu, try to find a button
+            if ( command != -1 )
+            {
+                wxWindow* child = win->FindWindow(command);
+                if ( child && wxDynamicCast(child, wxButton) )
+                {
+                    wxCommandEvent eventCmd(wxEVT_COMMAND_BUTTON_CLICKED, command);
+                    eventCmd.SetEventObject(child);
+                    if ( child->GetEventHandler()->ProcessEvent(eventCmd) )
+                    {
+                        // skip "event.Skip()" below
+                        return;
+                    }
+                }
+            }
+
             // don't propagate accels from the child frame to the parent one
             break;
         }
             // don't propagate accels from the child frame to the parent one
             break;
         }