Menu 电子-在不同窗口中更改菜单栏
在我的电子应用程序中,用户可以打开不同的窗口 创建主窗口时,我已初始化菜单,如下所示:Menu 电子-在不同窗口中更改菜单栏,menu,electron,Menu,Electron,在我的电子应用程序中,用户可以打开不同的窗口 创建主窗口时,我已初始化菜单,如下所示: const menuContents = Menu.buildFromTemplate(menuTemplate(mainWindow)) Menu.setApplicationMenu(menuContents) 但是,当用户单击链接并打开一个新窗口时,该菜单栏仍显示在该窗口中。我想更改和/或完全删除它 我该怎么做?有可能: 在渲染器或主进程中,使用如下菜单模板创建两个函数: 主菜单 第二菜单 调用第二
const menuContents = Menu.buildFromTemplate(menuTemplate(mainWindow))
Menu.setApplicationMenu(menuContents)
但是,当用户单击链接并打开一个新窗口时,该菜单栏仍显示在该窗口中。我想更改和/或完全删除它
我该怎么做?有可能:
在渲染器或主进程中,使用如下菜单模板创建两个函数:
主菜单
第二菜单
调用第二个窗口时:示例打开图像
当第二个窗口打开时,使用创建应用程序菜单
当第二个窗口关闭时,调用事件:
在第二个窗口的关闭事件中,调用:
新打开的窗口是否使用与主窗口相同的代码(显然创建了菜单栏)?否。菜单的格式不同。我所做的解决方案是,每次打开一个窗口(与主菜单不同)时,我都会重新创建菜单栏。
function createMenu(){
var menu = Menu.buildFromTemplate([
{
//your menu items
}
])
Menu.setApplicationMenu(menu);
}
function createMenuwin(){
var menu = Menu.buildFromTemplate([
{
//your other window menu items
}
])
Menu.setApplicationMenu(menu);
}
function openIMG(path){
win = new BrowserWindow({
width: 800,
height: 550,
frame: true,
vibrancy: 'medium-light',
});
win.loadFile(path);
createMenuwin();
win.on('close', () =>{
createMenu();
})
}
createmenuwin()
win.on('close', () =>{})
createMenu();