Electron 自定義軟件頂部菜單以及綁定快捷鍵
electron 中 menu 菜單可以用來(lái)創(chuàng)建原生菜單禽拔,它用作應(yīng)用菜單和 context 菜單
這個(gè)模塊是一個(gè)主進(jìn)程的模塊,并且可以通過(guò) remote 模塊給渲染進(jìn)程調(diào)用室叉。
// /main/menu.js
const {Menu} = require('electron');
const template = [
{
label: '文件',
submenu: [
{
label: '新建文件',
accelerator: 'Cmd+N',
click: function() {
console.log('1 新建文件:', 1);
}
},
{
label: '新建窗口',
click: function() {
console.log('1 新建窗口:', 1);
}
}
]
},
{
label: '編輯',
submenu: [
{
label: '復(fù)制',
role: 'copy',
click: function() {
console.log('1 復(fù)制:', 1);
}
},
{
label: '粘貼',
role: 'paste',
click: function() {
console.log('1 粘貼:', 1);
}
}
]
}
];
const customMenu = Menu.buildFromTemplate(template);
Menu.setApplicationMenu(customMenu);
自定義右鍵菜單
// 左鍵菜單事件
window.addEventListener('contextmenu', function(event) {
// 阻止默認(rèn)事件
event.preventDefault();
// 在當(dāng)前窗口點(diǎn)擊右擊的時(shí)候彈出 定義的菜單模板
customMenu.popup({window: remote.getCurrentWindow()});
});