electron + nodejs (自定义菜单)

  1. 新建菜单文件menu.js
    // 制作菜单
    
    const { Menu } = require('electron');
    
    // 1. 设置模板
    let template = [
        // 文件
        {
            label:'文件',
            // 子菜单
            submenu:[ 
                // 新建文件
                {
                    label:'新建文件',
                    // 动态绑定快捷键
                    accelerator:( function(){
                        // mac
                        if (process.platform == 'darwin'){
                            return 'ctrl+commad+M';
                        }else {
                            return 'ctrl+alt+M'
                        }
                    })(),
                    // 绑定事件
                    click:function () {
                       console.log("new File");     
                    }
                },
                {
                    type: 'separator'
                },
                // 新建窗口
                {
                    label:'新建窗口',
                    // 设置选中类型
                    type:'checkbox',
                    // 设置选中
                    checked:true,
                    // 绑定快捷键
                    accelerator:'alt+ctrl+Z',
                    // 绑定事件
                    click:function () {
                        console.log("new Window");     
                     }
                }
            ]
        },
        //编辑
        {
            label:'编辑'
        }
    ];
    
    // 2. 构建菜单 (实例化一个菜单对象)
    let menu = Menu.buildFromTemplate(template);
    
    // 3. 把菜单对象设置到应用中
    Menu.setApplicationMenu(menu);
    
  2. 在主窗口渲染后调用菜单文件

       // 关闭窗口
       win.on('close',function () {
           //TODO: 关闭窗口前想做的事
    
           win = null;
       })
    
       // 引入自定义菜单文件
       require('./menu')

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值