中我们介绍了如何使用electon制作自定义样式的标题栏
接下来,我们介绍一下标题栏上的最大化、最小化和关闭按钮如何实现首先查阅,我们发现electron已经准备好win.close()、win.maximize()和win.minimize()三个方法供我们调用了。
那么问题来了,我的渲染进程获取到了点击事件,如何到主进程中调用对应的方法呢?
这里有两种方法,一种是使用ipc,另一种是使用romate
这里先介绍下ipc新建组件Titlebtn,'src\renderer\components\mytitle\Titlebtn.vue'这里需要注意一下,因为之前我们设置标题栏样式-webkit-app-region: drag,这里按钮必须设置样式-webkit-app-region: no-drag,不然按钮将无法选中或点击
鼠标点击按钮后,通过ipcRenderer向主进程发送消息然后修改我们的Titlebtn组件,如下修改主进程index.js,监听渲染进程的消息,并根据消息执行相应的动作
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());