zoukankan      html  css  js  c++  java
  • Menu-菜单

    1. 建立菜单js
    2. 引入menu和BrowserWindow
    3. 其中存在多级菜单
    4. 主线程(main.js)中引入  
      require('./main/menu.js')
    //menu.js
    const
    { Menu,BrowserWindow } = require('electron') var template = [ { label: '迷迷糊糊', submenu: [ //子菜单 { label: '精品', accelerator:'ctrl+n',//快捷键 {加速器} click: () => { //点击事件,打开新页面 var win = new BrowserWindow({ 300, height: 300, webPreferences: { nodeIntegration: true } }) win.loadFile('./html/yellow.html') win.on("closed", () => { win = null }) } }, { label: '头昏脑胀', click: () => { } } ] }, { label: '念奴娇', submenu: [ { label: '赤壁怀古', click: () => { } }, { label: '大江东去', click: () => { } } ] } ] var m = Menu.buildFromTemplate(template) Menu.setApplicationMenu(m)

     右键菜单

    渲染线程加  window.addEventListener('contextmenu',(e)=>{})

    通过监听右键点击事件触发事件

    通过menu.popup()弹出menu菜单

    //import { readFile } from 'fs'
    
    window.onload = function () {
        var btn = this.document.querySelector('#btn')
        var div = this.document.querySelector('#the_div')
        alert("??")
        btn.onclick = function () {
            alert("启动了")
            // readFile('wendang.txt',(err,data)=>{
            //     div.innerHTML = data
            // })
        }
    }
    
    const { remote } = require('electron')
    var right_template = [
        {
            label: '复制'
        },
        {
            label: '粘贴'
        }
    ]
    var m = remote.Menu.buildFromTemplate(right_template)
    window.addEventListener('contextmenu', (e) => {
        // alert(1)
        //阻止默认响应事件
        e.preventDefault()
        
        m.popup({
            window: remote.getCurrentWindow()
        })
    })
  • 相关阅读:
    visio 2019 激活方法
    sftp 多用户安装与配置
    CentOS configuration uses the SFTP server
    esxi命令行强行关闭虚拟机
    esxi 版本升级命令
    存储分析 开源重复数据删除技术崭露头角
    最简单-转换MBR为GPT
    CentOS 7 搭建本地YUM仓库,并定期同步阿里云源
    uml建模工具介绍
    C/C++中extern关键字详解
  • 原文地址:https://www.cnblogs.com/fwjlucifinil/p/13535393.html
Copyright © 2011-2022 走看看