electron菜单设置快捷键

const {
    Menu,
    shell,
    ipcMain,
    BrowserWindow
} = require('electron') //从electron引入使用的模块
const {getMyMusic} = require('./ipcMain.js');
​
const isMac = process.platform === "darwin" //设置是否是mac系统
// 定義頂部菜單
const menuTemplate = [{ 
        label: '文件',
        submenu: [{
                label: '新建',
                accelerator:"Ctrl+N",
                click: function() {
                    // 发送消息给渲染层
                    BrowserWindow.getFocusedWindow().webContents.send("action","new")   
​
                }
    
            },
            {
                label: '打开',
                accelerator:"Ctrl+O",
                click: function() {
                    // 发送消息给渲染层
                    BrowserWindow.getFocusedWindow().webContents.send("action","open")  
                }
            },
    
            {
                label: '保存',
                accelerator:"Ctrl+S", 
                click: function() {
                    BrowserWindow.getFocusedWindow().webContents.send("action","save")  
                }
            },
            {
                type: 'separator'
            },
    
            {
                label: '打印',
                click: function() {
                }
            },
            {
                label: '退出',
                role: isMac ? "close" : "quit"
            }
        ]
    },
    { 
        label: '编辑',
        submenu: [{
                label: '撤销',
                role: 'undo'
            },
            {
                label: '恢复',
                role: 'redo'
            },
            {
                type: 'separator'
            },
            {
                label: '截切',
                role: 'cut'
            },
            {
                label: '复制',
                role: 'copy'
            },
            {
                label: '黏贴',
                role: 'paste'
            },
    
            {
                label: '删除',
                role: 'delete'
            },
            {
                label: '全选',
                role: 'selectall'
            }
        ]
    },
    {
        label: '视图',
        submenu: [{
                label: '重新加载',
                role: 'reload'
            },{
                label: '缩小',
                role: 'zoomout'
            },
            {
                label: '放大',
                role: 'zoomin'
            },
            {
                label: '重置缩放',
                role: 'resetzoom'
            },
            {
                type: 'separator'
            },
            {
                label: '全屏',
                role: 'togglefullscreen'
            }
        ]
    },
    {
        label:"听音乐",
        submenu:[
            {
                label:"打开网站",
                click() {
                    shell.openExternal('http://music.uniapper.com/');
                }
            },
            {
                
                label:"获取远程数据",
                click(){
                    getMyMusic().then(v => {
                        BrowserWindow.getFocusedWindow().webContents.send("replyMusicData",v)
                    })
                }
            }
        ]
    },
    {
        label: '帮助',
        submenu: [{
                label: '关于',
                click() {
    
                    shell.openExternal('https://wangzhen.cc/');
    
                }
            },
            {
                label: '打开调式工具',
                role: 'toggleDevTools'
            }
        ]
    }
​
]
​
var mymenu = Menu.buildFromTemplate(menuTemplate)
​
Menu.setApplicationMenu(mymenu)
​
// 定義右鍵菜單 
const contextMenu = [{
        label: "复制",
        role: "copy"
    },
    {
        label: "黏贴",
        role: "paste"
    }
]
​
​
var contextmenu = Menu.buildFromTemplate(contextMenu)
​
// 彈出右鍵菜單
ipcMain.on("showContextmenu", (event, data) => {
    console.log(data)
    contextmenu.popup({
        window: BrowserWindow.getFocusedWindow()
    })
    // 这里不传window也可以,就是当前的右键菜单 。
})

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注