Skip to content

Latest commit

 

History

History

lessons5

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

第六章

菜单模块(Menu

进程:主进程

Menu 可以两种菜单分别是原生应用菜单和上下文菜单,如下所示

接下来我来演示一个原生应用菜单

//在渲染进程调用Menu模块
const {Menu}=require('electron').remote;

//定义菜单
var template=[
    {

        label:'文件',
        submenu:[
            {
                label:'新建文件',
                // 注册快捷键
                accelerator:'ctrl+n',
                // 点击触发回调
                click:function(){ 
                    console.log('ctrl+n');
                }
            },
            {
                label:'新建窗口',
                click:function(){ 
                    console.log('new window');
                }
            }
        ]
    },
    {
        label:'编辑',
        submenu:[
            {
                label:'复制11',
                //使用内置角色
                role:'copy'
            },
            {
                label:'截切',
                role:'cut'
            }
        ]
    }
]

var menu = Menu.buildFromTemplate(template);
Menu.setApplicationMenu(menu);

//右键菜单事件
window.addEventListener('contextmenu',function(e){
    //阻止当前窗口默认事件
    e.preventDefault();

    //在当前窗口点击右键的时候弹出  定义的菜单模板
    menu.popup({window:remote.getCurrentWindow()})

},false)

启动

npm start

接下来你自己实现一个上下文菜单吧,参考这份菜单模板配置参数等相关信息