wxMenuBar Class Reference
[Menus]

#include <wx/menu.h>

Inheritance diagram for wxMenuBar:
Inheritance graph
[legend]

Detailed Description

A menu bar is a series of menus accessible from the top of a frame.

Remarks:
To respond to a menu selection, provide a handler for EVT_MENU, in the frame that contains the menu bar.

If you have a toolbar which uses the same identifiers as your EVT_MENU entries, events from the toolbar will also be processed by your EVT_MENU event handlers.

Tip: under Windows, if you discover that menu shortcuts (for example, Alt-F to show the file menu) are not working, check any EVT_CHAR events you are handling in child windows. If you are not calling event.Skip() for events that you don't process in these event handlers, menu shortcuts may cease to work.

Library:  wxCore
Category:  Menus
See also:
wxMenu, Events and Event Handling

Public Member Functions

 wxMenuBar (long style=0)
 Construct an empty menu bar.
 wxMenuBar (size_t n, wxMenu *menus[], const wxString titles[], long style=0)
 Construct a menu bar from arrays of menus and titles.
virtual ~wxMenuBar ()
 Destructor, destroying the menu bar and removing it from the parent frame (if any).
virtual bool Append (wxMenu *menu, const wxString &title)
 Adds the item to the end of the menu bar.
void Check (int id, bool check)
 Checks or unchecks a menu item.
void Enable (int id, bool enable)
 Enables or disables (greys out) a menu item.
virtual void EnableTop (size_t pos, bool enable)
 Enables or disables a whole menu.
virtual wxMenuItemFindItem (int id, wxMenu *menu=NULL) const
 Finds the menu item object associated with the given menu item identifier.
int FindMenu (const wxString &title) const
 Returns the index of the menu with the given title or wxNOT_FOUND if no such menu exists in this menubar.
virtual int FindMenuItem (const wxString &menuString, const wxString &itemString) const
 Finds the menu item id for a menu name/menu item string pair.
wxString GetHelpString (int id) const
 Gets the help string associated with the menu item identifier.
wxString GetLabel (int id) const
 Gets the label associated with a menu item.
wxString GetLabelTop (size_t pos) const
 Returns the label of a top-level menu.
wxMenuGetMenu (size_t menuIndex) const
 Returns the menu at menuIndex (zero-based).
size_t GetMenuCount () const
 Returns the number of menus in this menubar.
virtual wxString GetMenuLabel (size_t pos) const
 Returns the label of a top-level menu.
virtual wxString GetMenuLabelText (size_t pos) const
 Returns the label of a top-level menu.
virtual bool Insert (size_t pos, wxMenu *menu, const wxString &title)
 Inserts the menu at the given position into the menu bar.
bool IsChecked (int id) const
 Determines whether an item is checked.
bool IsEnabled (int id) const
 Determines whether an item is enabled.
virtual void Refresh (bool eraseBackground=true, const wxRect *rect=NULL)
 Redraw the menu bar.
virtual wxMenuRemove (size_t pos)
 Removes the menu from the menu bar and returns the menu object - the caller is responsible for deleting it.
virtual wxMenuReplace (size_t pos, wxMenu *menu, const wxString &title)
 Replaces the menu at the given position with another one.
void SetHelpString (int id, const wxString &helpString)
 Sets the help string associated with a menu item.
void SetLabel (int id, const wxString &label)
 Sets the label of a menu item.
void SetLabelTop (size_t pos, const wxString &label)
 Sets the label of a top-level menu.
virtual void SetMenuLabel (size_t pos, const wxString &label)
 Sets the label of a top-level menu.

List of all members.


Constructor & Destructor Documentation

wxMenuBar::wxMenuBar ( long  style = 0  ) 

Construct an empty menu bar.

Parameters:
style If wxMB_DOCKABLE the menu bar can be detached (wxGTK only).
wxMenuBar::wxMenuBar ( size_t  n,
wxMenu menus[],
const wxString  titles[],
long  style = 0 
)

Construct a menu bar from arrays of menus and titles.

Parameters:
n The number of menus.
menus An array of menus. Do not use this array again - it now belongs to the menu bar.
titles An array of title strings. Deallocate this array after creating the menu bar.
style If wxMB_DOCKABLE the menu bar can be detached (wxGTK only).

wxPerl Note: Not supported by wxPerl.

virtual wxMenuBar::~wxMenuBar (  )  [virtual]

Destructor, destroying the menu bar and removing it from the parent frame (if any).


Member Function Documentation

virtual bool wxMenuBar::Append ( wxMenu menu,
const wxString title 
) [virtual]

Adds the item to the end of the menu bar.

Parameters:
menu The menu to add. Do not deallocate this menu after calling Append().
title The title of the menu.
Returns:
true on success, false if an error occurred.
See also:
Insert()
void wxMenuBar::Check ( int  id,
bool  check 
)

Checks or unchecks a menu item.

Parameters:
id The menu item identifier.
check If true, checks the menu item, otherwise the item is unchecked.
Remarks:
Only use this when the menu bar has been associated with a frame; otherwise, use the wxMenu equivalent call.
void wxMenuBar::Enable ( int  id,
bool  enable 
)

Enables or disables (greys out) a menu item.

Parameters:
id The menu item identifier.
enable true to enable the item, false to disable it.
Remarks:
Only use this when the menu bar has been associated with a frame; otherwise, use the wxMenu equivalent call.
virtual void wxMenuBar::EnableTop ( size_t  pos,
bool  enable 
) [virtual]

Enables or disables a whole menu.

Parameters:
pos The position of the menu, starting from zero.
enable true to enable the menu, false to disable it.
Remarks:
Only use this when the menu bar has been associated with a frame.
virtual wxMenuItem* wxMenuBar::FindItem ( int  id,
wxMenu menu = NULL 
) const [virtual]

Finds the menu item object associated with the given menu item identifier.

Parameters:
id Menu item identifier.
menu If not NULL, menu will get set to the associated menu.
Returns:
The found menu item object, or NULL if one was not found.

wxPerl Note: In wxPerl this method takes just the id parameter; in scalar context it returns the associated Wx::MenuItem, in list context it returns a 2-element list (item, submenu).

int wxMenuBar::FindMenu ( const wxString title  )  const

Returns the index of the menu with the given title or wxNOT_FOUND if no such menu exists in this menubar.

The title parameter may specify either the menu title (with accelerator characters, i.e. "&File") or just the menu label ("File") indifferently.

virtual int wxMenuBar::FindMenuItem ( const wxString menuString,
const wxString itemString 
) const [virtual]

Finds the menu item id for a menu name/menu item string pair.

Parameters:
menuString Menu title to find.
itemString Item to find.
Returns:
The menu item identifier, or wxNOT_FOUND if none was found.
Remarks:
Any special menu codes are stripped out of source and target strings before matching.
wxString wxMenuBar::GetHelpString ( int  id  )  const

Gets the help string associated with the menu item identifier.

Parameters:
id The menu item identifier.
Returns:
The help string, or the empty string if there was no help string or the menu item was not found.
See also:
SetHelpString()
wxString wxMenuBar::GetLabel ( int  id  )  const

Gets the label associated with a menu item.

Parameters:
id The menu item identifier.
Returns:
The menu item label, or the empty string if the item was not found.
Remarks:
Use only after the menubar has been associated with a frame.
wxString wxMenuBar::GetLabelTop ( size_t  pos  )  const

Returns the label of a top-level menu.

Note that the returned string does not include the accelerator characters which could have been specified in the menu title string during its construction.

Parameters:
pos Position of the menu on the menu bar, starting from zero.
Returns:
The menu label, or the empty string if the menu was not found.
Remarks:
Use only after the menubar has been associated with a frame.
Deprecated:
This function is deprecated in favour of GetMenuLabel() and GetMenuLabelText().
See also:
SetLabelTop()
wxMenu* wxMenuBar::GetMenu ( size_t  menuIndex  )  const

Returns the menu at menuIndex (zero-based).

size_t wxMenuBar::GetMenuCount (  )  const

Returns the number of menus in this menubar.

virtual wxString wxMenuBar::GetMenuLabel ( size_t  pos  )  const [virtual]

Returns the label of a top-level menu.

Note that the returned string includes the accelerator characters that have been specified in the menu title string during its construction.

Parameters:
pos Position of the menu on the menu bar, starting from zero.
Returns:
The menu label, or the empty string if the menu was not found.
Remarks:
Use only after the menubar has been associated with a frame.
See also:
GetMenuLabelText(), SetMenuLabel()
virtual wxString wxMenuBar::GetMenuLabelText ( size_t  pos  )  const [virtual]

Returns the label of a top-level menu.

Note that the returned string does not include any accelerator characters that may have been specified in the menu title string during its construction.

Parameters:
pos Position of the menu on the menu bar, starting from zero.
Returns:
The menu label, or the empty string if the menu was not found.
Remarks:
Use only after the menubar has been associated with a frame.
See also:
GetMenuLabel(), SetMenuLabel()
virtual bool wxMenuBar::Insert ( size_t  pos,
wxMenu menu,
const wxString title 
) [virtual]

Inserts the menu at the given position into the menu bar.

Inserting menu at position 0 will insert it in the very beginning of it, inserting at position GetMenuCount() is the same as calling Append().

Parameters:
pos The position of the new menu in the menu bar
menu The menu to add. wxMenuBar owns the menu and will free it.
title The title of the menu.
Returns:
true on success, false if an error occurred.
See also:
Append()
bool wxMenuBar::IsChecked ( int  id  )  const

Determines whether an item is checked.

Parameters:
id The menu item identifier.
Returns:
true if the item was found and is checked, false otherwise.
bool wxMenuBar::IsEnabled ( int  id  )  const

Determines whether an item is enabled.

Parameters:
id The menu item identifier.
Returns:
true if the item was found and is enabled, false otherwise.
virtual void wxMenuBar::Refresh ( bool  eraseBackground = true,
const wxRect rect = NULL 
) [virtual]

Redraw the menu bar.

Reimplemented from wxWindow.

virtual wxMenu* wxMenuBar::Remove ( size_t  pos  )  [virtual]

Removes the menu from the menu bar and returns the menu object - the caller is responsible for deleting it.

This function may be used together with Insert() to change the menubar dynamically.

See also:
Replace()
virtual wxMenu* wxMenuBar::Replace ( size_t  pos,
wxMenu menu,
const wxString title 
) [virtual]

Replaces the menu at the given position with another one.

Parameters:
pos The position of the new menu in the menu bar
menu The menu to add.
title The title of the menu.
Returns:
The menu which was previously at position pos. The caller is responsible for deleting it.
See also:
Insert(), Remove()
void wxMenuBar::SetHelpString ( int  id,
const wxString helpString 
)

Sets the help string associated with a menu item.

Parameters:
id Menu item identifier.
helpString Help string to associate with the menu item.
See also:
GetHelpString()
void wxMenuBar::SetLabel ( int  id,
const wxString label 
)

Sets the label of a menu item.

Parameters:
id Menu item identifier.
label Menu item label.
Remarks:
Use only after the menubar has been associated with a frame.
See also:
GetLabel()
void wxMenuBar::SetLabelTop ( size_t  pos,
const wxString label 
)

Sets the label of a top-level menu.

Parameters:
pos The position of a menu on the menu bar, starting from zero.
label The menu label.
Remarks:
Use only after the menubar has been associated with a frame.
Deprecated:
This function has been deprecated in favour of SetMenuLabel().
See also:
GetLabelTop()
virtual void wxMenuBar::SetMenuLabel ( size_t  pos,
const wxString label 
) [virtual]

Sets the label of a top-level menu.

Parameters:
pos The position of a menu on the menu bar, starting from zero.
label The menu label.
Remarks:
Use only after the menubar has been associated with a frame.
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines



wxWidgets logo

[ top ]