]> git.saurik.com Git - wxWidgets.git/blame - docs/latex/wx/menu.tex
wxChoice/wxComboBox background colour change (to get back to where we were);
[wxWidgets.git] / docs / latex / wx / menu.tex
CommitLineData
a660d684
KB
1\section{\class{wxMenu}}\label{wxmenu}
2
3A menu is a popup (or pull down) list of items, one of which may be
4selected before the menu goes away (clicking elsewhere dismisses the
5menu). Menus may be used to construct either menu bars or popup menus.
6
7A menu item has an integer ID associated with it which can be used to
8identify the selection, or to change the menu item in some way.
9
10\wxheading{Derived from}
11
12\helpref{wxEvtHandler}{wxevthandler}\\
13\helpref{wxObject}{wxobject}
14
954b8ae6
JS
15\wxheading{Include files}
16
17<wx/menu.h>
18
a660d684
KB
19\wxheading{Event handling}
20
21If the menu is part of a menubar, then \helpref{wxMenuBar}{wxmenubar} event processing is used.
22
23With a popup menu, there is a variety of ways to handle a menu selection event
24(wxEVT\_COMMAND\_MENU\_SELECTED).
25
26\begin{enumerate}\itemsep=0pt
a660d684
KB
27\item Derive a new class from wxMenu and define event table entries using the EVT\_MENU macro.
28\item Set a new event handler for wxMenu, using an object whose class has EVT\_MENU entries.
29\item Provide EVT\_MENU handlers in the window which pops up the menu, or in an ancestor of
30this window.
1aaef614
VZ
31\item Define a callback of type wxFunction, which you pass to the wxMenu constructor.
32The callback takes a reference to the menu, and a reference to a
33\helpref{wxCommandEvent}{wxcommandevent}. This method is deprecated and should
34not be used in the new code, it is provided for backwards compatibility only.
a660d684
KB
35\end{enumerate}
36
37\wxheading{See also}
38
39\helpref{wxMenuBar}{wxmenubar}, \helpref{wxWindow::PopupMenu}{wxwindowpopupmenu},\rtfsp
40\helpref{Event handling overview}{eventhandlingoverview}
41
42\latexignore{\rtfignore{\wxheading{Members}}}
43
44\membersection{wxMenu::wxMenu}\label{wxmenuconstr}
45
b1462dfa 46\func{}{wxMenu}{\param{const wxString\& }{title = ""}, \param{long}{ style = 0}}
a660d684
KB
47
48Constructs a wxMenu object.
49
50\wxheading{Parameters}
51
52\docparam{title}{A title for the popup menu: the empty string denotes no title.}
53
1aaef614 54\docparam{style}{If set to \tt{wxMENU\_TEAROFF}, the menu will be detachable.}
4e986502 55
06d20283 56
407f3681 57\func{}{wxMenu}{\param{long}{ style}}
4e986502
KB
58
59Constructs a wxMenu object.
60
61\wxheading{Parameters}
407f3681 62
1aaef614 63\docparam{style}{If set to \tt{wxMENU\_TEAROFF}, the menu will be detachable.}
4e986502 64
a660d684
KB
65\membersection{wxMenu::\destruct{wxMenu}}
66
67\func{}{\destruct{wxMenu}}{\void}
68
69Destructor, destroying the menu.
70
b412f9be
JS
71Note: under Motif, a popup menu must have a valid parent (the window
72it was last popped up on) when being destroyed. Therefore, make sure
73you delete or re-use the popup menu {\it before} destroying the
74parent window. Re-use in this context means popping up the menu on
75a different window from last time, which causes an implicit destruction
76and recreation of internal data structures.
77
a660d684
KB
78\membersection{wxMenu::Append}\label{wxmenuappend}
79
eaaa6a06 80\func{void}{Append}{\param{int}{ id}, \param{const wxString\& }{ item}, \param{const wxString\& }{helpString = ""},\rtfsp
a660d684
KB
81\param{const bool}{ checkable = FALSE}}
82
83Adds a string item to the end of the menu.
84
eaaa6a06 85\func{void}{Append}{\param{int}{ id}, \param{const wxString\& }{ item}, \param{wxMenu *}{subMenu},\rtfsp
a660d684
KB
86\param{const wxString\& }{helpString = ""}}
87
88Adds a pull-right submenu to the end of the menu.
89
90\func{void}{Append}{\param{wxMenuItem*}{ menuItem}}
91
1aaef614
VZ
92Adds a menu item object. This is the most generic variant of Append() method
93because it may be used for both items (including separators) and submenus and
94because you can also specify various extra properties of a menu item this way,
a660d684
KB
95such as bitmaps and fonts.
96
97\wxheading{Parameters}
98
99\docparam{id}{The menu command identifier.}
100
101\docparam{item}{The string to appear on the menu item.}
102
103\docparam{menu}{Pull-right submenu.}
104
105\docparam{checkable}{If TRUE, this item is checkable.}
106
107\docparam{helpString}{An optional help string associated with the item.
108By default, \helpref{wxFrame::OnMenuHighlight}{wxframeonmenuhighlight} displays
109this string in the status line.}
110
111\docparam{menuItem}{A menuitem object. It will be owned by the wxMenu object after this function
112is called, so do not delete it yourself.}
113
114\wxheading{Remarks}
115
116This command can be used after the menu has been shown, as well as on initial
117creation of a menu or menubar.
118
119\wxheading{See also}
120
1aaef614
VZ
121\helpref{wxMenu::AppendSeparator}{wxmenuappendseparator},\rtfsp
122\helpref{wxMenu::Insert}{wxmenuinsert},\rtfsp
123\helpref{wxMenu::SetLabel}{wxmenusetlabel}, \helpref{wxMenu::GetHelpString}{wxmenugethelpstring},\rtfsp
a660d684
KB
124\helpref{wxMenu::SetHelpString}{wxmenusethelpstring}, \helpref{wxMenuItem}{wxmenuitem}
125
06d20283
RD
126\pythonnote{In place of a single overloaded method name, wxPython
127implements the following methods:\par
128\indented{2cm}{\begin{twocollist}
129\twocolitem{\bf{Append(id, string, helpStr="", checkable=FALSE)}}{}
130\twocolitem{\bf{AppendMenu(id, string, aMenu, helpStr="")}}{}
131\twocolitem{\bf{AppendItem(aMenuItem)}}{}
132\end{twocollist}}
133}
134
a660d684
KB
135\membersection{wxMenu::AppendSeparator}\label{wxmenuappendseparator}
136
137\func{void}{AppendSeparator}{\void}
138
139Adds a separator to the end of the menu.
140
141\wxheading{See also}
142
143\helpref{wxMenu::Append}{wxmenuappend}
144
145\membersection{wxMenu::Break}\label{wxmenubreak}
146
147\func{void}{Break}{\void}
148
149Inserts a break in a menu, causing the next appended item to appear in a new column.
150
151\membersection{wxMenu::Check}\label{wxmenucheck}
152
eaaa6a06 153\func{void}{Check}{\param{int}{ id}, \param{const bool}{ check}}
a660d684
KB
154
155Checks or unchecks the menu item.
156
157\wxheading{Parameters}
158
159\docparam{id}{The menu item identifier.}
160
161\docparam{check}{If TRUE, the item will be checked, otherwise it will be unchecked.}
162
163\wxheading{See also}
164
165\helpref{wxMenu::IsChecked}{wxmenuischecked}
166
fc9c7c09
RR
167\membersection{wxMenu::Delete}\label{wxmenudelete}
168
169\func{void}{Delete}{\param{int }{id}}
170
1aaef614
VZ
171\func{void}{Delete}{\param{wxMenuItem *}{item}}
172
173Deletes the menu item from the menu. If the item is a submenu, it will
174{\bf not} be deleted. Use \helpref{Destroy}{wxmenudestroy} if you want to
175delete a submenu.
fc9c7c09
RR
176
177\wxheading{Parameters}
178
1aaef614 179\docparam{id}{Id of the menu item to be deleted.}
fc9c7c09 180
1aaef614
VZ
181\docparam{item}{Menu item to be deleted.}
182
183\wxheading{See also}
184
185\helpref{wxMenu::FindItem}{wxmenufinditem},\rtfsp
186\helpref{wxMenu::Destroy}{wxmenudestroy},\rtfsp
187\helpref{wxMenu::Remove}{wxmenuremove}
188
189\membersection{wxMenu::Destroy}\label{wxmenudestroy}
190
191\func{void}{Destroy}{\param{int }{id}}
192
193\func{void}{Destroy}{\param{wxMenuItem *}{item}}
194
195Deletes the menu item from the menu. If the item is a submenu, it will
196be deleted. Use \helpref{Remove}{wxmenuremove} if you want to keep the submenu
197(for example, to reuse it later).
fc9c7c09 198
1aaef614
VZ
199\wxheading{Parameters}
200
201\docparam{id}{Id of the menu item to be deleted.}
202
203\docparam{item}{Menu item to be deleted.}
fc9c7c09
RR
204
205\wxheading{See also}
206
1aaef614
VZ
207\helpref{wxMenu::FindItem}{wxmenufinditem},\rtfsp
208\helpref{wxMenu::Deletes}{wxmenudelete},\rtfsp
209\helpref{wxMenu::Remove}{wxmenuremove}
fc9c7c09 210
a660d684
KB
211\membersection{wxMenu::Enable}\label{wxmenuenable}
212
eaaa6a06 213\func{void}{Enable}{\param{int}{ id}, \param{const bool}{ enable}}
a660d684
KB
214
215Enables or disables (greys out) a menu item.
216
217\wxheading{Parameters}
218
219\docparam{id}{The menu item identifier.}
220
221\docparam{enable}{TRUE to enable the menu item, FALSE to disable it.}
222
223\wxheading{See also}
224
225\helpref{wxMenu::IsEnabled}{wxmenuisenabled}
226
227\membersection{wxMenu::FindItem}\label{wxmenufinditem}
228
229\constfunc{int}{FindItem}{\param{const wxString\& }{itemString}}
230
231Finds the menu item id for a menu item string.
232
233\wxheading{Parameters}
234
235\docparam{itemString}{Menu item string to find.}
236
237\wxheading{Return value}
238
1aaef614 239Menu item identifier, or wxNOT\_FOUND if none is found.
a660d684
KB
240
241\wxheading{Remarks}
242
243Any special menu codes are stripped out of source and target strings
244before matching.
245
246\wxheading{See also}
247
1aaef614 248\helpref{wxMenu::FindItem}{wxmenufinditem}
a660d684 249
1aaef614 250\membersection{wxMenu::FindItem}\label{wxmenufinditem}
a660d684 251
1aaef614 252\constfunc{wxMenuItem *}{FindItem}{\param{int}{ id}, \param{wxMenu **}{menu = NULL}}
407f3681 253
1aaef614
VZ
254Finds the menu item object associated with the given menu item identifier and,
255optionally, the (sub)menu it belongs to.
a660d684
KB
256
257\wxheading{Parameters}
258
259\docparam{id}{Menu item identifier.}
260
1aaef614
VZ
261\docparam{menu}{If the pointer is not NULL, it will be filled with the items
262parent menu (if the item was found)}
263
a660d684
KB
264\wxheading{Return value}
265
266Returns the menu item object, or NULL if it is not found.
267
268\wxheading{See also}
269
270\helpref{wxMenu::FindItem}{wxmenufinditem}
271
272\membersection{wxMenu::GetHelpString}\label{wxmenugethelpstring}
273
eaaa6a06 274\constfunc{wxString}{GetHelpString}{\param{int}{ id}}
a660d684
KB
275
276Returns the help string associated with a menu item.
277
278\wxheading{Parameters}
279
280\docparam{id}{The menu item identifier.}
281
282\wxheading{Return value}
283
284The help string, or the empty string if there is no help string or the
285item was not found.
286
287\wxheading{See also}
288
289\helpref{wxMenu::SetHelpString}{wxmenusethelpstring}, \helpref{wxMenu::Append}{wxmenuappend}
290
291\membersection{wxMenu::GetLabel}\label{wxmenugetlabel}
292
eaaa6a06 293\constfunc{wxString}{GetLabel}{\param{int}{ id}}
a660d684
KB
294
295Returns a menu item label.
296
297\wxheading{Parameters}
298
299\docparam{id}{The menu item identifier.}
300
301\wxheading{Return value}
302
303The item label, or the empty string if the item was not found.
304
305\wxheading{See also}
306
307\helpref{wxMenu::SetLabel}{wxmenusetlabel}
308
1aaef614
VZ
309\membersection{wxMenu::GetMenuItemCount}\label{wxmenugetmenuitemcount}
310
311\constfunc{size\_t}{GetMenuItemCount}{\void}
312
313Returns the number of items in the menu.
314
315\membersection{wxMenu::GetMenuItems}\label{wxmenugetmenuitems}
316
317\constfunc{wxMenuItemList\&}{GetMenuItems}{\void}
318
319Returns the list of items in the menu. wxMenuItemList is a pseudo-template
320list class containing wxMenuItem pointers.
321
a660d684
KB
322\membersection{wxMenu::GetTitle}\label{wxmenugettitle}
323
324\constfunc{wxString}{GetTitle}{\void}
325
326Returns the title of the menu.
327
328\wxheading{Remarks}
329
330This is relevant only to popup menus.
331
332\wxheading{See also}
333
334\helpref{wxMenu::SetTitle}{wxmenusettitle}
335
1aaef614
VZ
336\membersection{wxMenu::Insert}\label{wxmenuinsert}
337
338\func{bool}{Insert}{\param{size\_t }{pos}, \param{wxMenuItem *}{item}}
339
340Inserts the given {\it item} before the position {\it pos}. Inserting the item
341at the position \helpref{GetMenuItemCount}{wxmenugetmenuitemcount} is the same
342as appending it.
343
344\wxheading{See also}
345
346\helpref{wxMenu::Append}{wxmenuappend}
347
a660d684
KB
348\membersection{wxMenu::IsChecked}\label{wxmenuischecked}
349
eaaa6a06 350\constfunc{bool}{IsChecked}{\param{int}{ id}}
a660d684
KB
351
352Determines whether a menu item is checked.
353
354\wxheading{Parameters}
355
356\docparam{id}{The menu item identifier.}
357
358\wxheading{Return value}
359
360TRUE if the menu item is checked, FALSE otherwise.
361
362\wxheading{See also}
363
364\helpref{wxMenu::Check}{wxmenucheck}
365
366\membersection{wxMenu::IsEnabled}\label{wxmenuisenabled}
367
eaaa6a06 368\constfunc{bool}{IsEnabled}{\param{int}{ id}}
a660d684
KB
369
370Determines whether a menu item is enabled.
371
372\wxheading{Parameters}
373
374\docparam{id}{The menu item identifier.}
375
376\wxheading{Return value}
377
378TRUE if the menu item is enabled, FALSE otherwise.
379
380\wxheading{See also}
381
382\helpref{wxMenu::Enable}{wxmenuenable}
383
1aaef614
VZ
384\membersection{wxMenu::Remove}\label{wxmenuremove}
385
386\func{wxMenuItem *}{Remove}{\param{int }{id}}
387
388\func{wxMenuItem *}{Remove}{\param{wxMenuItem *}{item}}
389
390Removes the menu item from the menu but doesn't delete the associated C++
391object. This allows to reuse the same item later by adding it back to the menu
392(especially useful with submenus).
393
394\wxheading{Parameters}
395
396\docparam{id}{The identifier of the menu item to remove.}
397
398\docparam{item}{The menu item to remove.}
399
400\wxheading{Return value}
401
402The item which was detached from the menu.
403
a660d684
KB
404\membersection{wxMenu::SetHelpString}\label{wxmenusethelpstring}
405
eaaa6a06 406\func{void}{SetHelpString}{\param{int}{ id}, \param{const wxString\& }{helpString}}
a660d684
KB
407
408Sets an item's help string.
409
410\wxheading{Parameters}
411
412\docparam{id}{The menu item identifier.}
413
414\docparam{helpString}{The help string to set.}
415
416\wxheading{See also}
417
418\helpref{wxMenu::GetHelpString}{wxmenugethelpstring}
419
420\membersection{wxMenu::SetLabel}\label{wxmenusetlabel}
421
eaaa6a06 422\func{void}{SetLabel}{\param{int}{ id}, \param{const wxString\& }{label}}
a660d684
KB
423
424Sets the label of a menu item.
425
426\wxheading{Parameters}
427
428\docparam{id}{The menu item identifier.}
429
430\docparam{label}{The menu item label to set.}
431
432\wxheading{See also}
433
434\helpref{wxMenu::Append}{wxmenuappend}, \helpref{wxMenu::GetLabel}{wxmenugetlabel}
435
436\membersection{wxMenu::SetTitle}\label{wxmenusettitle}
437
438\func{void}{SetTitle}{\param{const wxString\& }{title}}
439
440Sets the title of the menu.
441
442\wxheading{Parameters}
443
444\docparam{title}{The title to set.}
445
446\wxheading{Remarks}
447
448This is relevant only to popup menus.
449
450\wxheading{See also}
451
452\helpref{wxMenu::SetTitle}{wxmenusettitle}
453
631f1bfe
JS
454\membersection{wxMenu::UpdateUI}\label{wxmenuupdateui}
455
456\constfunc{void}{UpdateUI}{\param{wxEvtHandler*}{ source = NULL}}
457
458Sends events to {\it source} (or owning window if NULL) to update the
459menu UI. This is called just before the menu is popped up with \helpref{wxWindow::PopupMenu}{wxwindowpopupmenu}, but
460the application may call it at other times if required.
461
462\wxheading{See also}
463
464\helpref{wxUpdateUIEvent}{wxupdateuievent}
465
a660d684
KB
466\section{\class{wxMenuBar}}\label{wxmenubar}
467
468A menu bar is a series of menus accessible from the top of a frame.
469
470\wxheading{Derived from}
471
472\helpref{wxEvtHandler}{wxevthandler}\\
473\helpref{wxObject}{wxobject}
474
954b8ae6
JS
475\wxheading{Include files}
476
477<wx/menu.h>
478
a660d684
KB
479\wxheading{Event handling}
480
481To respond to a menu selection, provide a handler for EVT\_MENU, in the frame
e702ff0f
JS
482that contains the menu bar. If you have a toolbar which uses the same identifiers
483as your EVT\_MENU entries, events from the toolbar will also be processed by your
484EVT\_MENU event handlers.
485
486Note that menu commands (and UI update events for menus) are first sent to
487the focus window within the frame. If no window within the frame has the focus,
488then the events are sent directly to the frame. This allows command and UI update
489handling to be processed by specific windows and controls, and not necessarily
490by the application frame.
a660d684
KB
491
492\wxheading{See also}
493
494\helpref{wxMenu}{wxmenu}, \helpref{Event handling overview}{eventhandlingoverview}
495
496\latexignore{\rtfignore{\wxheading{Members}}}
497
498\membersection{wxMenuBar::wxMenuBar}\label{wxmenubarconstr}
499
500\func{void}{wxMenuBar}{\void}
501
502Default constructor.
503
eaaa6a06 504\func{void}{wxMenuBar}{\param{int}{ n}, \param{wxMenu*}{ menus[]}, \param{const wxString }{titles[]}}
a660d684
KB
505
506Construct a menu bar from arrays of menus and titles.
507
508\wxheading{Parameters}
509
510\docparam{n}{The number of menus.}
511
512\docparam{menus}{An array of menus. Do not use this array again - it now belongs to the
513menu bar.}
514
515\docparam{titles}{An array of title strings. Deallocate this array after creating the menu bar.}
516
06d20283
RD
517\pythonnote{Only the default constructor is supported in wxPython.
518Use wxMenuBar.Append instead.}
519
a660d684
KB
520\membersection{wxMenuBar::\destruct{wxMenuBar}}
521
522\func{void}{\destruct{wxMenuBar}}{\void}
523
524Destructor, destroying the menu bar and removing it from the parent frame (if any).
525
526\membersection{wxMenuBar::Append}\label{wxmenubarappend}
527
1aaef614 528\func{bool}{Append}{\param{wxMenu *}{menu}, \param{const wxString\& }{title}}
a660d684
KB
529
530Adds the item to the end of the menu bar.
531
532\wxheading{Parameters}
533
534\docparam{menu}{The menu to add. Do not deallocate this menu after calling {\bf Append}.}
535
536\docparam{title}{The title of the menu.}
537
1aaef614
VZ
538\wxheading{Return value}
539
540TRUE on success, FALSE if an error occured.
541
542\wxheading{See also}
543
544\helpref{wxMenuBar::Insert}{wxmenubarinsert}
545
a660d684
KB
546\membersection{wxMenuBar::Check}\label{wxmenubarcheck}
547
eaaa6a06 548\func{void}{Check}{\param{int}{ id}, \param{const bool}{ check}}
a660d684
KB
549
550Checks or unchecks a menu item.
551
552\wxheading{Parameters}
553
554\docparam{id}{The menu item identifier.}
555
556\docparam{check}{If TRUE, checks the menu item, otherwise the item is unchecked.}
557
558\wxheading{Remarks}
559
560Only use this when the menu bar has been associated
561with a frame; otherwise, use the wxMenu equivalent call.
562
563\membersection{wxMenuBar::Enable}\label{wxmenubarenable}
564
eaaa6a06 565\func{void}{Enable}{\param{int}{ id}, \param{const bool}{ enable}}
a660d684
KB
566
567Enables or disables (greys out) a menu item.
568
569\wxheading{Parameters}
570
571\docparam{id}{The menu item identifier.}
572
573\docparam{enable}{TRUE to enable the item, FALSE to disable it.}
574
575\wxheading{Remarks}
576
577Only use this when the menu bar has been
578associated with a frame; otherwise, use the wxMenu equivalent call.
579
580\membersection{wxMenuBar::EnableTop}\label{wxmenubarenabletop}
581
eaaa6a06 582\func{void}{EnableTop}{\param{int}{ pos}, \param{const bool}{ enable}}
a660d684
KB
583
584Enables or disables a whole menu.
585
586\wxheading{Parameters}
587
588\docparam{pos}{The position of the menu, starting from zero.}
589
590\docparam{enable}{TRUE to enable the menu, FALSE to disable it.}
591
592\wxheading{Remarks}
593
594Only use this when the menu bar has been
595associated with a frame.
596
597\membersection{wxMenuBar::FindMenuItem}\label{wxmenubarfindmenuitem}
598
599\constfunc{int}{FindMenuItem}{\param{const wxString\& }{menuString}, \param{const wxString\& }{itemString}}
600
601Finds the menu item id for a menu name/menu item string pair.
602
603\wxheading{Parameters}
604
605\docparam{menuString}{Menu title to find.}
606
607\docparam{itemString}{Item to find.}
608
609\wxheading{Return value}
610
1aaef614 611The menu item identifier, or wxNOT\_FOUND if none was found.
a660d684
KB
612
613\wxheading{Remarks}
614
615Any special menu codes are stripped out of source and target strings
616before matching.
617
fc9c7c09 618\membersection{wxMenuBar::FindItem}\label{wxmenubarfinditem}
a660d684 619
407f3681 620\constfunc{wxMenuItem *}{FindItem}{\param{int}{ id}, \param{wxMenu}{ **menu = NULL}}
a660d684 621
fc9c7c09 622Finds the menu item object associated with the given menu item identifier.
a660d684
KB
623
624\wxheading{Parameters}
625
626\docparam{id}{Menu item identifier.}
407f3681 627
fc9c7c09 628\docparam{menu}{If not NULL, menu will get set to the associated menu.}
a660d684
KB
629
630\wxheading{Return value}
631
632The found menu item object, or NULL if one was not found.
633
634\membersection{wxMenuBar::GetHelpString}\label{wxmenubargethelpstring}
635
eaaa6a06 636\constfunc{wxString}{GetHelpString}{\param{int}{ id}}
a660d684
KB
637
638Gets the help string associated with the menu item identifer.
639
640\wxheading{Parameters}
641
642\docparam{id}{The menu item identifier.}
643
644\wxheading{Return value}
645
646The help string, or the empty string if there was no help string or the menu item
647was not found.
648
649\wxheading{See also}
650
651\helpref{wxMenuBar::SetHelpString}{wxmenubarsethelpstring}
652
653\membersection{wxMenuBar::GetLabel}\label{wxmenubargetlabel}
654
eaaa6a06 655\constfunc{wxString}{GetLabel}{\param{int}{ id}}
a660d684
KB
656
657Gets the label associated with a menu item.
658
659\wxheading{Parameters}
660
661\docparam{id}{The menu item identifier.}
662
663\wxheading{Return value}
664
665The menu item label, or the empty string if the item was not found.
666
667\wxheading{Remarks}
668
669Use only after the menubar has been associated with a frame.
670
671\membersection{wxMenuBar::GetLabelTop}\label{wxmenubargetlabeltop}
672
eaaa6a06 673\constfunc{wxString}{GetLabelTop}{\param{int}{ pos}}
a660d684
KB
674
675Returns the label of a top-level menu.
676
677\wxheading{Parameters}
678
679\docparam{pos}{Position of the menu on the menu bar, starting from zero.}
680
681\wxheading{Return value}
682
683The menu label, or the empty string if the menu was not found.
684
685\wxheading{Remarks}
686
687Use only after the menubar has been associated with a frame.
688
689\wxheading{See also}
690
691\helpref{wxMenuBar::SetLabelTop}{wxmenubarsetlabeltop}
692
7f555861
JS
693\membersection{wxMenuBar::GetMenu}\label{wxmenubargetmenu}
694
695\constfunc{wxMenu*}{GetMenu}{\param{int}{ menuIndex}}
696
697Returns the menu at {\it menuIndex} (zero-based).
698
699\membersection{wxMenuBar::GetMenuCount}\label{wxmenubargetmenucount}
700
701\constfunc{int}{GetMenuCount}{\void}
702
703Returns the number of menus in this menubar.
704
1aaef614
VZ
705\membersection{wxMenuBar::Insert}{wxmenubarinsert}
706
707\func{bool}{Insert}{\param{size\_t }{pos}, \param{wxMenu *}{menu}, \param{const wxString\& }{title}}
708
709Inserts the menu at the given position into the menu bar. Inserting menu at
710position $0$ will insert it in the very beginning of it, inserting at position
711\helpref{GetMenuCount()}{wxmenubargetmenucount} is the same as calling
712\helpref{Append()}{wxmenubarappend}.
713
714\wxheading{Parameters}
715
716\docparam{pos}{The position of the new menu in the menu bar}
717
718\docparam{menu}{The menu to add. wxMenuBar owns the menu and will free it.}
719
720\docparam{title}{The title of the menu.}
721
722\wxheading{Return value}
723
724TRUE on success, FALSE if an error occured.
725
726\wxheading{See also}
727
728\helpref{wxMenuBar::Append}{wxmenubarappend}
729
a660d684
KB
730\membersection{wxMenuBar::IsChecked}\label{wxmenubarischecked}
731
eaaa6a06 732\constfunc{bool}{IsChecked}{\param{int}{ id}}
a660d684
KB
733
734Determines whether an item is checked.
735
736\wxheading{Parameters}
737
738\docparam{id}{The menu item identifier.}
739
740\wxheading{Return value}
741
742TRUE if the item was found and is checked, FALSE otherwise.
743
744\membersection{wxMenuBar::IsEnabled}\label{wxmenubarisenabled}
745
eaaa6a06 746\constfunc{bool}{IsEnabled}{\param{int}{ id}}
a660d684
KB
747
748Determines whether an item is enabled.
749
750\wxheading{Parameters}
751
752\docparam{id}{The menu item identifier.}
753
754\wxheading{Return value}
755
756TRUE if the item was found and is enabled, FALSE otherwise.
757
63dcfc15
PA
758\membersection{wxMenuBar::Refresh}\label{wxmenubarrefresh}
759
760\func{void}{Refresh}{\void}
761
762Redraw the menu bar
763
1aaef614
VZ
764\membersection{wxMenuBar::Remove}\label{wxmenubarremove}
765
766\func{wxMenu *}{Remove}{\param{size\_t }{pos}}
767
768Removes the menu from the menu bar and returns the menu object - the caller is
769reposnbile for deleting it. This function may be used together with
770\helpref{wxMenuBar::Insert}{wxmenubarinsert} to change the menubar
771dynamically.
772
773\wxheading{See also}
774
775\helpref{wxMenuBar::Replace}[wxmenubarreplace}
776
777\membersection{wxMenuBar::Replace}\label{wxmenubarreplace}
778
779\func{wxMenu *}{Replace}{\param{size\_t }{pos}, \param{wxMenu *}{menu}, \param{const wxString\& }{title}}
780
781Replaces the menu at givenm position with another one.
782
783\wxheading{Parameters}
784
785\docparam{pos}{The position of the new menu in the menu bar}
786
787\docparam{menu}{The menu to add.}
788
789\docparam{title}{The title of the menu.}
790
791\wxheading{Return value}
792
793The menu which was previously at the position {\it pos}. The caller is
794responsible for deleting it.
795
796\wxheading{See also}
797
798\helpref{wxMenuBar::Insert}{wxmenubarinsert},\rtfsp
799\helpref{wxMenuBar::Remove}{wxmenubarremove}
800
801\membersection{wxMenuBar::IsChecked}\label{wxmenubarischecked}
802
a660d684
KB
803\membersection{wxMenuBar::SetHelpString}\label{wxmenubarsethelpstring}
804
eaaa6a06 805\func{void}{SetHelpString}{\param{int}{ id}, \param{const wxString\& }{helpString}}
a660d684
KB
806
807Sets the help string associated with a menu item.
808
809\wxheading{Parameters}
810
811\docparam{id}{Menu item identifier.}
812
813\docparam{helpString}{Help string to associate with the menu item.}
814
815\wxheading{See also}
816
817\helpref{wxMenuBar::GetHelpString}{wxmenubargethelpstring}
818
819\membersection{wxMenuBar::SetLabel}\label{wxmenubarsetlabel}
820
eaaa6a06 821\func{void}{SetLabel}{\param{int}{ id}, \param{const wxString\& }{label}}
a660d684
KB
822
823Sets the label of a menu item.
824
825\wxheading{Parameters}
826
827\docparam{id}{Menu item identifier.}
828
829\docparam{label}{Menu item label.}
830
831\wxheading{Remarks}
832
833Use only after the menubar has been associated with a frame.
834
835\wxheading{See also}
836
837\helpref{wxMenuBar::GetLabel}{wxmenubargetlabel}
838
839\membersection{wxMenuBar::SetLabelTop}\label{wxmenubarsetlabeltop}
840
eaaa6a06 841\func{void}{SetLabelTop}{\param{int}{ pos}, \param{const wxString\& }{label}}
a660d684
KB
842
843Sets the label of a top-level menu.
844
845\wxheading{Parameters}
846
847\docparam{pos}{The position of a menu on the menu bar, starting from zero.}
848
849\docparam{label}{The menu label.}
850
851\wxheading{Remarks}
852
853Use only after the menubar has been associated with a frame.
854
855\wxheading{See also}
856
857\helpref{wxMenuBar::GetLabelTop}{wxmenubargetlabeltop}
858