.. wxPython Phoenix documentation

   This file was generated by Phoenix's sphinx generator and associated
   tools, do not edit by hand.

   Copyright: (c) 2011-2020 by Total Control Software
   License:   wxWindows License

.. include:: headings.inc



.. _wx.MenuEvent:

==========================================================================================================================================
|phoenix_title|  **wx.MenuEvent**
==========================================================================================================================================

This class is used for a variety of menu-related events. 
         

Note that these do not include menu command events, which are handled using :ref:`wx.CommandEvent`  objects. 

Events of this class are generated by both menus that are part of a :ref:`wx.MenuBar`, attached to :ref:`wx.Frame`, and popup menus shown by :meth:`wx.Window.PopupMenu` . They are sent to the following objects until one of them handles the event:

- The menu object itself, as returned by :meth:`~wx.MenuEvent.GetMenu`, if any. 
- The :ref:`wx.MenuBar`  to which this menu is attached, if any. 
- The window associated with the menu, e.g. the one calling PopupMenu() for the popup menus. 
- The top level parent of that window if it's different from the window itself. 




This is similar to command events generated by the menu items, but, unlike them, :ref:`wx.MenuEvent`  are only sent to the window itself and its top level parent but not any intermediate windows in the hierarchy. 

The default handler for  ``wxEVT_MENU_HIGHLIGHT``   in  :ref:`wx.Frame`  displays help text in the status bar, see :meth:`wx.Frame.SetStatusBarPane` . 







.. _MenuEvent-events:

|events| Events Emitted by this Class
=====================================

Handlers bound for the following event types will receive a :ref:`wx.MenuEvent` parameter.

 

- EVT_MENU_OPEN: A menu is about to be opened. On Windows, this is only sent once for each navigation of the menubar (up until all menus have closed).  
- EVT_MENU_CLOSE: A menu has been just closed. Notice that this event is currently being sent before the menu selection ( ``wxEVT_MENU`` ) event, if any.   
- EVT_MENU_HIGHLIGHT: The menu item with the specified id has been highlighted: used to show help prompts in the status bar by :ref:`wx.Frame`   
- EVT_MENU_HIGHLIGHT_ALL: A menu item has been highlighted, i.e. the currently selected menu item has changed.  









         



.. seealso:: :ref:`wx.CommandEvent`, :ref:`Events and Event Handling <events and event handling>`    







|

|class_hierarchy| Class Hierarchy
=================================

.. raw:: html

   <div id="toggleBlock" onclick="return toggleVisibility(this)" class="closed" style="cursor:pointer;">
   <img id="toggleBlock-trigger" src="_static/images/closed.png"/>
   Inheritance diagram for class <strong>MenuEvent</strong>:
   </div>
   <div id="toggleBlock-summary" style="display:block;"></div>
   <div id="toggleBlock-content" style="display:none;">
   <p class="graphviz">
   <center><img src="_static/images/inheritance/wx.MenuEvent_inheritance.svg" alt="Inheritance diagram of MenuEvent" usemap="#dummy" class="inheritance"/></center>
   <script type="text/javascript">toggleVisibilityOnLoad(document.getElementById('toggleBlock'))</script>
   <map id="dummy" name="dummy"> <area shape="rect" id="node1" href="wx.MenuEvent.html" title="This class is used for a variety of menu-related events." alt="" coords="5,159,139,188"/> <area shape="rect" id="node2" href="wx.Event.html" title="An event is a structure holding information about an event passed to a callback or member function." alt="" coords="25,82,119,111"/> <area shape="rect" id="node3" href="wx.Object.html" title="This is the root class of many of the wxWidgets classes." alt="" coords="23,5,122,34"/> </map> 
   </p>
   </div>

|


|method_summary| Methods Summary
================================

================================================================================ ================================================================================
:meth:`~wx.MenuEvent.__init__`                                                   Constructor.
:meth:`~wx.MenuEvent.GetMenu`                                                    Returns the menu which is being opened or closed, or the menu containing the highlighted item.
:meth:`~wx.MenuEvent.GetMenuId`                                                  Returns the menu identifier associated with the event.
:meth:`~wx.MenuEvent.IsPopup`                                                    Returns ``True`` if the menu which is being opened or closed is a popup menu, ``False`` if it is a normal one.
================================================================================ ================================================================================


|


|property_summary| Properties Summary
=====================================

================================================================================ ================================================================================
:attr:`~wx.MenuEvent.Menu`                                                       See :meth:`~wx.MenuEvent.GetMenu`
:attr:`~wx.MenuEvent.MenuId`                                                     See :meth:`~wx.MenuEvent.GetMenuId`
================================================================================ ================================================================================


|


|api| Class API
===============


.. class:: wx.MenuEvent(Event)

   **Possible constructors**::

       MenuEvent(type=wxEVT_NULL, id=0, menu=nullptr) -> None
       
   
   This class is used for a variety of menu-related events.



   .. method:: __init__(self, type=wxEVT_NULL, id=0, menu=nullptr)

      Constructor. 
                 


      :param `type`: 
      :type `type`: wx.EventType
      :param `id`: 
      :type `id`: int
      :param `menu`: 
      :type `menu`: wx.Menu




      :rtype: `None`     








   .. method:: GetMenu(self)

      Returns the menu which is being opened or closed, or the menu containing the highlighted item. 
                 

      Note that the returned value can be nullptr if the menu being opened doesn't have a corresponding :ref:`wx.Menu`, e.g. this happens when opening the system menu in wxMSW port. 


                

      :rtype: :ref:`wx.Menu`







      .. note:: 

         Since 3.1.3 this function can be used with  ``OPEN`` ,   ``CLOSE``   and   ``HIGHLIGHT``   events. Before 3.1.3, this method can only be used with the   ``OPEN``   and   ``CLOSE``   events.    








   .. method:: GetMenuId(self)

      Returns the menu identifier associated with the event. 
                 

      This method should be only used with the  ``HIGHLIGHT``   events.  
                 

      :rtype: `int`








   .. method:: IsPopup(self)

      Returns ``True`` if the menu which is being opened or closed is a popup menu, ``False`` if it is a normal one. 
                 

      This method should only be used with the  ``OPEN``   and   ``CLOSE``   events.  
                 

      :rtype: `bool`








   .. attribute:: Menu

      See :meth:`~wx.MenuEvent.GetMenu`


   .. attribute:: MenuId

      See :meth:`~wx.MenuEvent.GetMenuId`

