查看源代码 wxMenuBar (wx v2.4.3)
菜单栏是一系列可从框架顶部访问的菜单。
备注:要响应菜单选择,请在包含菜单栏的框架中为 EVT_MENU 提供一个处理程序。
如果您的工具栏使用与 EVT_MENU 条目相同的标识符,则来自工具栏的事件也将由您的 EVT_MENU 事件处理程序处理。
提示:在 Windows 下,如果您发现菜单快捷键(例如,Alt-F 显示文件菜单)不起作用,请检查您在子窗口中处理的任何 EVT_CHAR 事件。如果您没有为在这些事件处理程序中不处理的事件调用 event.Skip(),则菜单快捷键可能停止工作。
参见
此类派生自以下类,并且可以使用这些类的函数:
wxWidgets 文档:wxMenuBar
摘要
函数
将项目添加到菜单栏的末尾。
选中或取消选中菜单项。
销毁对象
启用或禁用(灰显)菜单项。
启用或禁用整个菜单。
查找与给定菜单项标识符关联的菜单项对象。
返回具有给定 title
的菜单的索引,如果此菜单栏中不存在此类菜单,则返回 wxNOT\_FOUND
。
查找菜单名称/菜单项字符串对的菜单项 ID。
获取与菜单项标识符关联的帮助字符串。
获取与菜单项关联的标签。
返回 menuIndex
(从零开始) 处的菜单。
返回此菜单栏中的菜单数量。
返回顶级菜单的标签。
返回顶级菜单的标签。
将菜单插入到菜单栏中的给定位置。
确定是否选中了一个项目。
确定是否启用了项目。
使您可以在 Mac 上获取全局菜单栏,即当应用程序在没有任何框架打开的情况下运行时显示的菜单栏。
使您可以在 Mac 上设置全局菜单栏,即当应用程序在没有任何框架打开的情况下运行时显示的菜单栏。
构造一个空的菜单栏。
返回 Apple 菜单。
从菜单栏中删除菜单并返回菜单对象 - 调用者负责删除它。
将给定位置的菜单替换为另一个菜单。
设置与菜单项关联的帮助字符串。
设置菜单项的标签。
设置顶级菜单的标签。
类型
-type wxMenuBar() :: wx:wx_object().
函数
-spec append(This, Menu, Title) -> boolean() when This :: wxMenuBar(), Menu :: wxMenu:wxMenu(), Title :: unicode:chardata().
将项目添加到菜单栏的末尾。
返回:成功时返回 true,如果发生错误则返回 false。
参见:insert/4
选中或取消选中菜单项。
备注:仅当菜单栏已与框架关联时才使用此项;否则,请使用 wxMenu
等效调用。
-spec destroy(This :: wxMenuBar()) -> ok.
销毁对象
-spec enable(This, Id, Enable) -> ok when This :: wxMenuBar(), Id :: integer(), Enable :: boolean().
启用或禁用(灰显)菜单项。
备注:仅当菜单栏已与框架关联时才使用此项;否则,请使用 wxMenu
等效调用。
-spec enableTop(This, Pos, Enable) -> ok when This :: wxMenuBar(), Pos :: integer(), Enable :: boolean().
启用或禁用整个菜单。
备注:仅当菜单栏已与框架关联时才使用此项。
-spec findItem(This, Id) -> wxMenuItem:wxMenuItem() when This :: wxMenuBar(), Id :: integer().
查找与给定菜单项标识符关联的菜单项对象。
返回:找到的菜单项对象,如果未找到则返回 NULL。
-spec findMenu(This, Title) -> integer() when This :: wxMenuBar(), Title :: unicode:chardata().
返回具有给定 title
的菜单的索引,如果此菜单栏中不存在此类菜单,则返回 wxNOT\_FOUND
。
title
参数可以指定菜单标题(带有加速键字符,即 "&File"
)或仅指定菜单标签 ("File"
) ,两者没有区别。
-spec findMenuItem(This, MenuString, ItemString) -> integer() when This :: wxMenuBar(), MenuString :: unicode:chardata(), ItemString :: unicode:chardata().
查找菜单名称/菜单项字符串对的菜单项 ID。
返回:菜单项标识符,如果未找到则返回 wxNOT_FOUND。
备注:在匹配之前,任何特殊的菜单代码都会从源字符串和目标字符串中去除。
-spec getAutoWindowMenu() -> boolean().
-spec getHelpString(This, Id) -> unicode:charlist() when This :: wxMenuBar(), Id :: integer().
获取与菜单项标识符关联的帮助字符串。
返回:帮助字符串,如果不存在帮助字符串或未找到菜单项,则返回空字符串。
-spec getLabel(This, Id) -> unicode:charlist() when This :: wxMenuBar(), Id :: integer().
获取与菜单项关联的标签。
返回:菜单项标签,如果未找到该项,则返回空字符串。
备注:仅在菜单栏与框架关联后使用。
-spec getLabelTop(This, Pos) -> unicode:charlist() when This :: wxMenuBar(), Pos :: integer().
等效于:getMenuLabel/2
-spec getMenu(This, MenuIndex) -> wxMenu:wxMenu() when This :: wxMenuBar(), MenuIndex :: integer().
返回 menuIndex
(从零开始) 处的菜单。
返回此菜单栏中的菜单数量。
-spec getMenuLabel(This, Pos) -> unicode:charlist() when This :: wxMenuBar(), Pos :: integer().
返回顶级菜单的标签。
请注意,返回的字符串包括在菜单标题字符串构造期间指定的加速键字符。
返回:菜单标签,如果未找到菜单,则返回空字符串。
备注:仅在菜单栏与框架关联后使用。
参见
-spec getMenuLabelText(This, Pos) -> unicode:charlist() when This :: wxMenuBar(), Pos :: integer().
返回顶级菜单的标签。
请注意,返回的字符串不包括在菜单标题字符串构造期间可能指定的任何加速键字符。
返回:菜单标签,如果未找到菜单,则返回空字符串。
备注:仅在菜单栏与框架关联后使用。
参见
-spec insert(This, Pos, Menu, Title) -> boolean() when This :: wxMenuBar(), Pos :: integer(), Menu :: wxMenu:wxMenu(), Title :: unicode:chardata().
将菜单插入到菜单栏中的给定位置。
在位置 0 处插入菜单会将其插入到最开头,在位置 getMenuCount/1
处插入菜单与调用 append/3
相同。
返回:成功时返回 true,如果发生错误则返回 false。
参见:append/3
确定是否选中了一个项目。
返回:如果找到该项目且已选中,则返回 true,否则返回 false。
确定是否启用了项目。
返回:如果找到该项目且已启用,则返回 true,否则返回 false。
-spec macGetCommonMenuBar() -> wxMenuBar().
使您可以在 Mac 上获取全局菜单栏,即当应用程序在没有任何框架打开的情况下运行时显示的菜单栏。
返回:全局菜单栏。
备注:仅存在于 Mac 上,其他平台没有此方法。
仅适用于:wxosx
-spec macSetCommonMenuBar(Menubar) -> ok when Menubar :: wxMenuBar().
使您可以在 Mac 上设置全局菜单栏,即当应用程序在没有任何框架打开的情况下运行时显示的菜单栏。
备注:仅存在于 Mac 上,其他平台没有此方法。
仅适用于:wxosx
-spec new() -> wxMenuBar().
构造一个空的菜单栏。
-spec oSXGetAppleMenu(This) -> wxMenu:wxMenu() when This :: wxMenuBar().
返回 Apple 菜单。
这是最左边的菜单,其标题为应用程序的名称。您不应从中删除任何项目,但可以安全地向其中插入额外的菜单项或子菜单。
仅适用于:wxosx
自:3.0.1
-spec remove(This, Pos) -> wxMenu:wxMenu() when This :: wxMenuBar(), Pos :: integer().
从菜单栏中删除菜单并返回菜单对象 - 调用者负责删除它。
此函数可以与 insert/4
一起使用以动态更改菜单栏。
参见:replace/4
-spec replace(This, Pos, Menu, Title) -> wxMenu:wxMenu() when This :: wxMenuBar(), Pos :: integer(), Menu :: wxMenu:wxMenu(), Title :: unicode:chardata().
将给定位置的菜单替换为另一个菜单。
返回:先前位于位置 pos 的菜单。调用者负责删除它。
参见
-spec setAutoWindowMenu(Enable) -> ok when Enable :: boolean().
-spec setHelpString(This, Id, HelpString) -> ok when This :: wxMenuBar(), Id :: integer(), HelpString :: unicode:chardata().
设置与菜单项关联的帮助字符串。
-spec setLabel(This, Id, Label) -> ok when This :: wxMenuBar(), Id :: integer(), Label :: unicode:chardata().
设置菜单项的标签。
备注:仅在菜单栏与框架关联后使用。
参见:getLabel/2
-spec setLabelTop(This, Pos, Label) -> ok when This :: wxMenuBar(), Pos :: integer(), Label :: unicode:chardata().
等效于:setMenuLabel/3
-spec setMenuLabel(This, Pos, Label) -> ok when This :: wxMenuBar(), Pos :: integer(), Label :: unicode:chardata().
设置顶级菜单的标签。
备注:仅在菜单栏与框架关联后使用。