上一篇:electron+vue制做桌面应用--自定义标题栏中咱们介绍了如何使用electon制做自定义样式的标题栏

接下来,咱们介绍一下标题栏上的最大化、最小化和关闭按钮如何实现vue

首先查阅electron文档BrowserWindow部分,咱们发现electron已经准备好win.close()、win.maximize()和win.minimize()三个方法供咱们调用了。web

那么问题来了,个人渲染进程获取到了点击事件,如何到主进程中调用对应的方法呢?segmentfault

这里有两种方法,一种是使用ipc,另外一种是使用romate

这里先介绍下ipc

新建组件Titlebtn,'src\renderer\components\mytitle\Titlebtn.vue'api

class="titlebtn"

v-bind:style="style"

v-on:click="click"/>

const {ipcRenderer: ipc} = require('electron');

const style = {

min: {

backgroundColor: 'green',

right: '100px'

},

max: {

backgroundColor: 'yellow',

right: '60px'

},

close: {

backgroundColor: 'black',

right: '20px'

}

};

export default {

name: 'Titlebtn',

props: ['type'],

computed: {

style: function () {

return style[this.type];

}

},

methods: {

click: function () {

ipc.send(this.type);

}

}

}

.titlebtn {

position: absolute;

width: 20px;

height: 20px;

top: 0;

bottom: 0;

margin: auto 0;

-webkit-app-region: no-drag;

}

这里须要注意一下,由于以前咱们设置标题栏样式-webkit-app-region: drag,这里按钮必须设置样式-webkit-app-region: no-drag,否则按钮将没法选中或点击

鼠标点击按钮后,经过ipcRenderer向主进程发送消息

而后修改咱们的Titlebtn组件,以下app

import Titlebtn from './Titlebtn.vue';

export default {

name: 'Mytitle',

components: {

Titlebtn

}

}

#mytitle {

position: absolute;

width: 100%;

height: 52px;

background-color: rgb(198, 47, 47);

-webkit-app-region: drag;

}

修改主进程index.js,监听渲染进程的消息,并根据消息执行相应的动做electron

import { ipcMain } from 'electron'

ipcMain.on('min', e=> mainWindow.minimize());

ipcMain.on('max', e=> {

if (mainWindow.isMaximized()) {

mainWindow.unmaximize()

} else {

mainWindow.maximize()

}

});

ipcMain.on('close', e=> mainWindow.close());

electron vue点击按钮关闭_electron+vue制做桌面应用--自定义标题栏最大/小化和关闭...相关推荐

  1. vue中点击按钮切换图片

    vue中点击按钮切换图片 直接附上代码,亲测有效 <!-- --> <template><div><div class="">< ...

  2. Qt 自定义标题栏,最小化、最大化、关闭窗口,双击最大化,鼠标拖动等效果实现

    文章目录 前言 效果 代码 .pro文件 widget.h widget.cpp widget.ui title.h title.cpp title.ui 前言 本次实验内容为Qt自定义标题栏,最小化 ...

  3. vue点击按钮切换显示不同内容_邂逅Vue

    01 什么是Vue.js Vue (读音 /vjuː/,类似于view) 是一套用于构建用户界面的渐进式框架. 看到这里,你就会问了,什么是渐进式? 渐进式就是你可以将Vue作为一个项目中的部分组件改 ...

  4. vue限制点击次数_解决vue 按钮多次点击重复提交数据问题

    这个其实是一个很细节的问题. 如果我们操作一个按钮,然后在按钮点击的时候绑定事件. 事件分为两种情况: •第一种: 不操作数据型 •第二种: 操作数据型 点击 这里我们通过控制isDisable 来设 ...

  5. Vue点击按钮跳转到新路由

    前言,点击 添加商品 按钮,跳转到新路由 1.第一步,绑定click事件 <el-button type="primary" @click="goAddPage&q ...

  6. vue点击按钮怎么跳转图片_Vue中点击按钮切换图片;

    页面效果比较差,但是有图总比没图强点 这是最开始的页面,我们看到,图中只有一个"右箭头",点击右箭头; 左箭头也有了,然后我们继续点击右箭头; 右箭头没有了,只剩下了左箭头, 以上 ...

  7. vue点击按钮怎么跳转图片_vue页面跳转

    一.在template中的常见写法: 点击跳转 二.在js中设置跳转(在方法中跳转界面并传参,两种方式:params 与 query): 有时候我们需要的是点击按钮跳出弹窗,选择判断后进行跳转,我们常 ...

  8. vue点击按钮显示弹窗写法

    案例1 源码如下 <template><div class="box" v-cloak><div><div class="mas ...

  9. vue 点击按钮弹出视频播放+自动播放问题

    单纯点击弹出视频代码: <template><div><button @click="checkVideoFun()">点此观看完整视频< ...

最新文章

  1. 背景se_SE新作《先驱者》首个内容预告 定于2020年圣诞发售
  2. cmake 成功后, make 出现 No such file or directory 问题解决
  3. Matlab 坐标轴比例一致导致图形变形
  4. MySQL高级 - NULL值的判定
  5. .NET MVC CSRF/XSRF 漏洞
  6. mongodb python 存文件_Python保存MongoDB上的文件到本地的方法介绍
  7. 我们还很时尚freeeim
  8. iOS内存管理机制解析
  9. C++ queue用法
  10. 无类域间路由CIDR
  11. 图卷积网络详细介绍(二)
  12. 【CF1369D】TediousLee(找规律递推——计数)
  13. ERP仓库管理系统主要功能
  14. 一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如 6=1+2+3, 编程找出 1000 以内的所有完数。
  15. matlab拼接曲线,贝切尔曲线拼接代码-MATLAB
  16. 谷歌浏览器如何查看及设置网页编码格式(亲测可用)
  17. 读沈从文先生的《边城》
  18. 小米刷机OTA、 Recovery、 FASTBOOT三种方法直接的区别和联系
  19. Apple ProRes格式版本
  20. 怎么把PDF转换成Excel表格?两分钟教会你如何转换

热门文章

  1. 成功 自信 快乐, ――给中国青年学生的一封信
  2. 2018年全国多校算法寒假训练营练习比赛(第五场)F-The Biggest Water Problem
  3. 马斯克:特斯拉正研发“世界上最好”的AI硬件
  4. 项目质量管理之持续改进
  5. 闲人闲谈PS之一项目库存跨公司业务STO解决方案--SAP闲人的开篇
  6. 程序员每日英语2021-08-25
  7. MSP430F5529通过nrf905模块实现无线接受和发送功能
  8. 基于RT-Thread的两轮平衡小车设计
  9. 关于自己的一些想法-网络通用消费返点平台
  10. 最全软件测试工具大全