Clase wxMenuEvent
Esta clase se utiliza para una variedad de eventos relacionados con el menú.
Jerarquía:

Hay que tener en cuenta que estos no incluyen eventos de comandos de menú, que se manejan utilizando objetos wxCommandEvent.
Los eventos de esta clase son generados tanto por los menús que forman parte de una wxMenuBar, adjunta a wxFrame, como por los menús emergentes mostrados por wxWindow::PopupMenu(). Se envían a los siguientes objetos hasta que uno de ellos gestiona el evento:
- El propio objeto menú, devuelto por GetMenu(), si existe.
- La wxMenuBar a la que está asociado este menú, si existe.
- La ventana asociada al menú, por ejemplo, la que llama a PopupMenu() para los menús emergentes.
- El padre de nivel superior de esa ventana, si es diferente de la propia ventana.
Esto es similar a los eventos de comando generados por los elementos de menú, pero, a diferencia de ellos, los wxMenuEvent sólo se envían a la propia ventana y a su padre de nivel superior, pero no a ninguna ventana intermedia de la jerarquía.
El manejador por defecto para wxEVT_MENU_HIGHLIGHT en wxFrame muestra texto de ayuda en la barra de estado, ver wxFrame::SetStatusBarPane().
Eventos que usan esta clase
Las siguientes macros de manejadores de eventos redirigen los eventos a manejadores de funciones miembro 'func' con prototipos como:
void handlerFuncName(wxMenuEvent& event)
Macros de evento:
- EVT_MENU_OPEN(func)
- Un menú está a punto de abrirse. En Windows, esto sólo se envía una vez por cada navegación de la barra de menús (hasta que todos los menús se hayan cerrado).
- EVT_MENU_CLOSE(func)
- Se acaba de cerrar un menú. Hay que tener en cuenta que este evento se envía antes que el evento de selección de menú (wxEVT_MENU), si lo hubiera.
- EVT_MENU_HIGHLIGHT(id, func)
- El elemento de menú con el id especificado ha sido resaltado: utilizado para mostrar mensajes de ayuda en la barra de estado por wxFrame.
- EVT_MENU_HIGHLIGHT_ALL(func)
- Se ha resaltado un elemento de menú, es decir, el elemento de menú actualmente seleccionado ha cambiado.
Funciones miembro
wxMenuEvent()
wxMenuEvent::wxMenuEvent( wxEventType type = wxEVT_NULL, int id = 0, wxMenu * menu = nullptr )
Constructor.
GetMenu()
wxMenu* wxMenuEvent::GetMenu() const
Devuelve el menú que se está abriendo o cerrando, o el menú que contiene el elemento resaltado.
Hay que tener en cuenta que el valor devuelto puede ser nullptr si el menú que se está abriendo no tiene un wxMenu correspondiente, por ejemplo, esto ocurre al abrir el menú del sistema en wxMSW.
Observaciones
Desde la versión 3.1.3 esta función se puede utilizar con los eventos OPEN, CLOSE y HIGHLIGHT. Antes de la versión 3.1.3, este método sólo se podía utilizar con los eventos OPEN y CLOSE.
GetMenuId()
int wxMenuEvent::GetMenuId() const
Devuelve el identificador de menú asociado al evento.
Este método sólo debe utilizarse con los eventos HIGHLIGHT.
IsPopup()
bool wxMenuEvent::IsPopup() const
Devuelve true si el menú que se está abriendo o cerrando es un menú emergente, false si es uno normal.
Este método sólo debe utilizarse con los eventos OPEN y CLOSE.
Métodos y datos heredados
Esta clase hereda los métodos y datos miembro públicos y protegidos de wxEvent y wxObject.