При создании окна автоматически создается стандартное меню приложения, которое содержит меню File, Edit, View, Window и Help. Каждое меню содержит основные команды. Например, в меню File присутствует пункт Exit, который позволяет завершить работу приложения. Если нужно удалить стандартное меню приложения, то в статический метод setApplicationMenu() класса Menu нужно передать значение null или объект пользовательского меню:
// const { Menu } = require('electron');
Menu.setApplicationMenu(null);Для удаления меню конкретного окна следует использовать метод removeMenu():
win.removeMenu();Итак. вместо удаления меню приложения мы можем прикрепить свое собственное меню. Для этого достаточно создать шаблон меню, передать его статическому методу buildFromTemplate(<Шаблон меню>) класса Menu, а затем прикрепить меню с помощью статического метода setApplicationMenu(<Меню>):
const menu = Menu.buildFromTemplate(templateMenu);
Menu.setApplicationMenu(menu);Меню можно также прикрепить к конкретному окну, передав объект меню в метод setMenu(<Меню>):
const menu = Menu.buildFromTemplate(templateMenu);
win.setMenu(menu);Если при создании окна передать опцию autoHideMenuBar со значением true, то строка меню будет по умолчанию скрываться и отображаться только при нажатии клавиши <Alt> (значение по умолчанию: false):
win = new BrowserWindow({
autoHideMenuBar: true
});Шаблон меню представляет собой массив объектов. Название пункта меню задается в объекте с помощью свойства label:
let templateMenu = [
{ label: 'Файл' },
{ label: 'Правка' },
{ label: 'Вид' },
{ label: 'Справка' }
];
if (process.platform === 'darwin') { // Для MacOS
templateMenu.unshift({});
}
const menu = Menu.buildFromTemplate(templateMenu);
Menu.setApplicationMenu(menu);