Menu
菜单
创建原生应用菜单和上下文菜单。
进程:主进程
new Menu()
创建新菜单 。
静态方法
Menu
类有以下方法:
Menu.setApplicationMenu(menu)
menu
Menu | null
在macOS上将 menu
设置成应用内菜单 在windows和Linux上,menu
将会被设置成窗口顶部菜单
在Windows和Linux中,可以在菜单的顶层标签的某个字母前添加&
以绑定快捷键。 例如,使用&File
后可以使用Alt-F
呼出File的子选项。 按钮标签中指定的字符会出现下划线, &
字符不会显示在按钮标签上。
要转义并在项名中显示 &
字符, 可以添加字符 &
. 比如, &&File
将在按钮标签上出现 &File
传递 null
值可以禁用默认菜单。 在 Windows 和 Linux 上,使用此方法移除窗口上的菜单栏可能会有额外的效果。
**注释:**如果应用没有设置菜单的话,系统会生成一个默认菜单。 默认生成的菜单中包含了一些初始选项,例如 文件
,编辑
, 视图
,窗口
,帮助
。
Menu.getApplicationMenu()
返回 Menu | null
- 如果有设置, 则返回应用程序菜单, 如果没设置,则返回 null
。
**注释:**返回的 Menu
实例不支持动态添加或删除菜单项, 但仍然可以动态修改 实例属性 。
Menu.sendActionToFirstResponder(action)
macOS
action
string
将 action
发送到应用程序的第一个响应方。 这用于模拟默认的 macOS 菜单行为。 通常你可以使用MenuItem
的role
属性
有关 macOS 的本地操作的详细信息, 请参阅 macOS Cocoa Event Handling Guide 。
Menu.buildFromTemplate(template)
template
(MenuItemConstructorOptions | MenuItem)[]
返回 Menu
一般来说, template
是一个options
类型的数组,用于构建MenuItem。 使用方法可参考前文。
您还可以将其他字段附加到template
,它们将成为菜单项的属性。
实例方法
menu
对象具有以下实例方法:
menu.popup([options])
弹出此菜单作为上下 文菜单在 BrowserWindow
。
menu.closePopup([browserWindow])
browserWindow
BrowserWindow (可选) - 默认为选中窗口.
关闭 browserWindow
中的上下文菜单。
menu.append(menuItem)
menuItem
MenuItem
将 menuItem
追加到菜单。
menu.getMenuItemById(id)
id
字符串
返回具有指定id
项的MenuItem | null
menu.insert(pos, menuItem)
pos
IntegermenuItem
MenuItem
将 menuItem
插入菜单的 pos
位置。
实例事件
使用 new Menu
创建对象或通过 Menu.buildFromTemplate
返回对象均会触发下列事件:
** 注意: **某些事件仅在特定的操作系统上可用, 这些方法会被标记出来。
事件: 'menu-will-show'
返回:
event
Event
调用menu.popup()
事件时触发该事件。
事件: 'menu-will-close'
返回:
event
Event
手动关闭弹出,或使用 menu.closePopup()
方法关闭弹出时,触发该事件。
实例属性
menu
对象还具有以下属性:
menu.items
包含菜单项的 MenuItem []
数组。
每个 菜单
由多个 MenuItem
组成, 每个 MenuItem
可以有子菜单。