Clase wxMenuBar
Una barra de menús es una serie de menús accesibles desde la parte superior de un marco.
Observaciones: Para responder a una selección de menú, hay que proporcionar un manejador para EVT_MENU, en el marco que contiene la barra de menú.
Jerarquía:

Si se tiene una barra de herramientas que utiliza los mismos identificadores que las entradas EVT_MENU, los eventos de la barra de herramientas también serán procesados por los manejadores de eventos EVT_MENU.
Consejo: en Windows, si se descubre que los atajos de menú (por ejemplo, Alt-F para mostrar el menú de archivo) no funcionan, compruebar cualquier evento EVT_CHAR que esté manejando en ventanas hijas. Si no se está llamando a event.Skip() para eventos que no se procesan en estos manejadores de eventos, los atajos de menú pueden dejar de funcionar.
Funciones miembro
wxMenuBar()
wxMenuBar::wxMenuBar(long style = 0)
Construye una barra de menú vacía.
Parámetros
- style
- Si wxMB_DOCKABLE la barra de menú se puede desacoplar (solo wxGTK).
wxMenuBar()
Construye una barra de menú a partir de matrices de menús y títulos.
Parámetros
- n
- El número de menús.
- menus
- Un array de menús. No utilizar esta matriz de nuevo - ahora pertenece a la barra de menús.
- titles
- Matriz de cadenas de título. Desasignar este array después de crear la barra de menús.
- style
- Si wxMB_DOCKABLE la barra de menú se puede desacoplar (solo wxGTK).
Nota: No soportado por wxPerl.
~wxMenuBar()
virtual wxMenuBar::~wxMenuBar()
Destructor, que destruye la barra de menú y la elimina del marco padre (si existe).
Append()
Añade el elemento al final de la barra de menús.
Parámetros
- menu
- El menú a añadir. No desasignar este menú después de llamar a Append().
- title
- El título del menú, no debe estar vacío.
Valor de retorno
true en caso de éxito, false si se ha producido un error.
Attach()
virtual void wxMenuBar::Attach(wxFrame * frame)
Asigna la barra de menú a un marco.
Check()
void wxMenuBar::Check( int id, bool check )
Comprueba o desactiva un elemento del menú.
Parámetros
- id
- Identificador del elemento de menú.
- check
- Si es true, se comprueba el elemento de menú; en caso contrario, se desmarca.
Observaciones
Utilízarlo solo cuando la barra de menús esté asociada a un marco; en caso contrario, utilizar la llamada equivalente a wxMenu.
Detach()
virtual void wxMenuBar::Detach()
?
Enable()
void wxMenuBar::Enable( int id, bool enable )
Activa o desactiva (oscurece) un elemento del menú.
Parámetros
- id
- Identificador del elemento de menú.
- enable
- true para activar el elemento, false para desactivarlo.
Observaciones
Utilízarlo solo cuando la barra de menús esté asociada a un marco; en caso contrario, utilizar la llamada equivalente a wxMenu.
EnableTop()
virtual void wxMenuBar::EnableTop( size_t pos, bool enable )
Activa o desactiva un menú completo.
Parámetros
- pos
- La posición del menú, empezando por cero.
- enable
- true para habilitar el menú, false para deshabilitarlo.
Observaciones
Solo se utiliza cuando la barra de menú está asociada a un marco.
FindItem()
virtual wxMenuItem* wxMenuBar::FindItem( int id, wxMenu ** menu = NULL ) const
Busca el objeto de elemento de menú asociado al identificador de elemento de menú dado.
Parámetros
- id
- Identificador del elemento de menú.
- menu
- Si no es NULL, menu se establecerá como el menú asociado.
Valor de retorno
El objeto de menú encontrado, o NULL si no se encontró ninguno.
Nota: En wxPerl este método solo toma el parámetro id; en contexto escalar devuelve el Wx::MenuItem asociado, en contexto de lista devuelve una lista de 2 elementos (item, submenu).
FindMenu()
int wxMenuBar::FindMenu(const wxString & title) const
Devuelve el índice del menú con el título dado o wxNOT_FOUND si no existe tal menú en esta barra de menús.
El parámetro title puede especificar indistintamente el título del menú (con caracteres aceleradores, es decir, "&Archivo") o solo la etiqueta del menú ("Archivo").
FindMenuItem()
virtual int wxMenuBar::FindMenuItem( const wxString & menuString, const wxString & itemString ) const
Busca el id del elemento de menú para un par nombre de menú/cadena de elemento de menú.
Parámetros
- menuString
- Título del menú a buscar.
- itemString
- Elemento a buscar.
Valor de retorno
El identificador del elemento de menú, o wxNOT_FOUND si no se ha encontrado ninguno.
Observaciones
Los códigos de menú especiales se eliminan de las cadenas de origen y destino antes de la búsqueda.
GetFrame()
wxFrame* wxMenuBar::GetFrame() const
?
GetHelpString()
wxString wxMenuBar::GetHelpString(int id) const
Obtiene la cadena de ayuda asociada al identificador del elemento de menú.
Parámetros
- id
- El identificador del elemento de menú.
Valor de retorno
La cadena de ayuda, o la cadena vacía si no hay cadena de ayuda o no se ha encontrado el elemento de menú.
GetLabel ()
wxString wxMenuBar::GetLabel (int id) const
Obtiene la etiqueta asociada a un elemento de menú.
Parámetros
- id
- El identificador del elemento de menú.
Valor de retorno
La etiqueta del elemento de menú, o la cadena vacía si no se ha encontrado el elemento.
Observaciones
Utilizar solo después de haber asociado la barra de menús a un marco.
GetLabelTop()
wxString wxMenuBar::GetLabelTop(size_t pos) const
Devuelve la etiqueta de un menú de nivel superior.
hay que tener en cuenta que la cadena devuelta no incluye los caracteres aceleradores que se hayan podido especificar en la cadena del título del menú durante su construcción.
Parámetros
- pos
- Posición del menú en la barra de menús, empezando por cero.
Valor de retorno
La etiqueta del menú, o la cadena vacía si no se ha encontrado el menú.
Observaciones
Utilizar solo después de haber asociado la barra de menús a un marco.
Obsoleto:
Esta función está obsoleta en favor de GetMenuLabel() y GetMenuLabelText().
GetMenu()
wxMenu* wxMenuBar::GetMenu(size_t menuIndex) const
Devuelve el menú en menuIndex (basado en cero).
GetMenuCount()
size_t wxMenuBar::GetMenuCount() const
Devuelve el número de menús en esta barra de menús.
GetMenuLabel()
virtual wxString wxMenuBar::GetMenuLabel(size_t pos) const
Devuelve la etiqueta de un menú de nivel superior.
Hay que tener en cuenta que la cadena devuelta incluye los caracteres aceleradores que se hayan especificado en la cadena del título del menú durante su construcción.
Parámetros
- pos
- Posición del menú en la barra de menús, empezando por cero.
Valor de retorno
La etiqueta del menú, o la cadena vacía si no se ha encontrado el menú.
Observaciones
Utilizar solo después de haber asociado la barra de menús a un marco.
GetMenuLabelText()
virtual wxString wxMenuBar::GetMenuLabelText(size_t pos) const
Devuelve la etiqueta de un menú de nivel superior.
Hay que tener en cuenta que la cadena devuelta no incluye ningún carácter acelerador que pueda haberse especificado en la cadena del título del menú durante su construcción.
Parámetros
- pos
- Posición del menú en la barra de menús, empezando por cero.
Valor de retorno
La etiqueta del menú, o la cadena vacía si no se ha encontrado el menú.
Observaciones
Utilizar solo después de haber asociado la barra de menús a un marco.
Insert()
Inserta el menú en la posición dada en la barra de menús.
Insertar el menú en la posición 0 lo insertará al principio de la misma, insertarlo en la posición GetMenuCount() es lo mismo que llamar a Append().
Parámetros
- pos
- La posición del nuevo menú en la barra de menús.
- menu
- El menú a añadir. wxMenuBar es el propietario del menú y lo liberará.
- title
- El título del menú.
Valor de retorno
true en caso de éxito, false si se ha producido un error.
IsAttached()
bool wxMenuBar::IsAttached() const
?
IsChecked()
bool wxMenuBar::IsChecked(int id) const
Determina si un elemento está marcado.
Parámetros
- id
- El identificador del elemento del menú.
Valor de retorno
true si el ítem fue encontrado y es verificado, false en caso contrario.
IsEnabled()
bool wxMenuBar::IsEnabled(int id) const
Determina si un elemento está activado.
Parámetros
- id
- El identificador del elemento del menú.
Valor de retorno
true si el ítem fue encontrado y está habilitado, false en caso contrario.
IsEnabledTop()
bool wxMenuBar::IsEnabledTop(size_t pos) const
Devuelve true si el menú con el índice dado está habilitado.
Parámetros
- pos
- Posición del menú (basada en 0)
MacGetCommonMenuBar()
static wxMenuBar* wxMenuBar::MacGetCommonMenuBar()
Permite obtener la barra de menús global en Mac, es decir, la barra de menús que se muestra cuando la aplicación se está ejecutando sin ningún marco abierto.
Valor de retorno
La barra de menú global.
Observaciones
Solo existe en Mac, otras plataformas no disponen de este método.
MacSetCommonMenuBar()
static void wxMenuBar::MacSetCommonMenuBar(wxMenuBar * menubar)
Permite configurar la barra de menú global en Mac, es decir, la barra de menú que se muestra cuando la aplicación se está ejecutando sin ningún marco abierto.
Parámetros
- menubar
- La barra de menú a configurar.
Observaciones
Solo existe en Mac, otras plataformas no disponen de este método.
OSXGetAppleMenu()
wxMenu* wxMenuBar::OSXGetAppleMenu() const
Devuelve el menú de Apple.
Este es el menú situado más a la izquierda con el nombre de la aplicación como título. No debe eliminar ningún elemento de él, pero es seguro insertar elementos de menú adicionales o submenús en él.
Disponibilidad: solo disponible para el port wxOSX/Cocoa.
Refresh()
virtual void wxMenuBar::Refresh( bool eraseBackground = true, const wxRect * rect = NULL )
Redibuja la barra de menú.
Reimplementado a partir de wxWindow.
Remove()
virtual wxMenu* wxMenuBar::Remove(size_t pos)
Elimina el menú de la barra de menús y devuelve el objeto menú - la persona que llama es responsable de eliminarlo.
Esta función puede utilizarse junto con Insert() para cambiar la barra de menús dinámicamente.
Replace()
Sustituye el menú en la posición dada por otro.
Parámetros
- pos
- La posición del nuevo menú en la barra de menús
- menu
- El menú a añadir.
- title
- El título del menú.
Valor de retorno
El menú que estaba anteriormente en la posición pos. La persona que llama es responsable de borrarlo.
SetHelpString()
void wxMenuBar::SetHelpString( int id, const wxString & helpString )
Establece la cadena de ayuda asociada a un elemento del menú.
Parámetros
- id
- Identificador del elemento de menú.
- helpString
- Cadena de ayuda asociada al elemento de menú.
SetLabel()
void wxMenuBar::SetLabel( int id, const wxString & label )
Establece la etiqueta de un elemento de menú.
Parámetros
- id
- Identificador del elemento de menú.
- label
- Etiqueta del elemento de menú.
Observaciones
Utilizar solo después de haber asociado la barra de menús a un marco.
SetLabelTop()
void wxMenuBar::SetLabelTop( size_t pos, const wxString & label )
Establece la etiqueta de un menú de nivel superior.<(p>
Parámetros
- pos
- La posición de un menú en la barra de menús, empezando por cero.
- label
- La etiqueta del menú.
Observaciones
Utilizar solo después de haber asociado la barra de menús a un marco.
Obsoleto
Esta función ha quedado obsoleta en favor de SetMenuLabel().
SetMenuLabel()
virtual void wxMenuBar::SetMenuLabel( size_t pos, const wxString & label )
Establece la etiqueta de un menú de nivel superior.<(p>
Parámetros
- pos
- La posición de un menú en la barra de menús, empezando por cero.
- label
- La etiqueta del menú.
Observaciones
Utilizar solo después de haber asociado la barra de menús a un marco.
Métodos y datos heredados
Esta clase hereda los métodos y datos miembro públicos y protegidos de wxWindow, wxEvtHandler y wxObject.