[乱说]Electron 无边框窗口最大化最小化关闭功能
2017-11-22 21:54
393 查看
Electron 无边框窗口最大化最小化关闭功能
目的
实现无边框窗口,并添加最大化最小化和关闭功能前提
了解Electron 主进程和渲染进程的通讯了解 BrowserWindow相关功能
操作流程
先在界面上放三个按钮<body style="-webkit-app-region: drag"> <section style="-webkit-app-region: drag"> <!--html代码--> <h1>Hello World!</h1> </section> <section style="-webkit-app-region: no-drag"> <button type="button" id="maxbt">max</button> <button type="button" id="minbt">>min</button> <button type="button" id="closebt">>close</button> </section> <!-- All of the Node.js APIs are available in this renderer process. --> We are using Node.js <script>document.write(process.versions.node)</script>, Chromium <script>document.write(process.versions.chrome)</script>, and Electron <script>document.write(process.versions.electron)</script>. <script> // require('electron').ipcRenderer; // You can also require other files to run in this process require('./renderer.js') </script> </body> ``` **-webkit-app-region: drag是可拖动的样式** 2. 添加事件把要做的操作发送给主进程 ``` javascript var ipc = require('electron').ipcRenderer; document.getElementById('maxbt').addEventListener('click', () => { console.log('hello vscode!') ipc.send('window-max'); }) document.getElementById('minbt').addEventListener('click', () => { console.log('hello vscode!') ipc.send('window-min'); }) document.getElementById('closebt').addEventListener('click', () => { console.log('hello vscode!') ipc.send('window-close'); }) <div class="se-preview-section-delimiter"></div>
在主进程中调相应的方法
const electron = require('electron') const ipc = electron.ipcMain //登录窗口最小化 ipc.on('window-min',function(){ mainWindow.minimize(); }) //登录窗口最大化 ipc.on('window-max',function(){ if(mainWindow.isMaximized()){ mainWindow.restore(); }else{ mainWindow.maximize(); } }) ipc.on('window-close',function(){ mainWindow.close(); })
提示
ipc不适合大数据通讯,最好只做命令的传递源码
基础不稳写出来的代码也不是很好,开源的学习成本其实是很高的,特别是对于新手,自己学习一定要把握好度。
相关文章推荐
- 【Qt】自定义标题栏并实现最小化/最大化/关闭窗口功能
- 去掉winform边框,实现最大化最小化及关闭功能
- QT实现无边框窗体的最小化,最大化/还原,关闭,拖动和双击最大化等功能
- C#窗口皮肤制作(二):创建窗口库项目以及最小化、最大化、关闭button的实现
- C# WinForm开发系列之自定义无边框窗体(最大化,最小化,关闭,拉伸和移动的相关知识)
- delphi代码实现窗口最小化,最大化,关闭消息发送
- 漂亮的Js拖动层,窗口拖拽(改变大小/最小化/最大化/还原/关闭)
- ubuntu 将最大化,最小化,关闭按钮置于窗口右侧
- ubuntu 窗口没有了“关闭”“最小化”“最大化“按钮
- js屏蔽最大化,最小化,关闭,后退等功能函数
- 网页窗口拖拽(改变大小/最小化/最大化/还原/关闭)
- JS实现漂亮的窗口拖拽效果(可改变大小、最大化、最小化、关闭)
- Flex窗口最小化最大化,关闭,拖动组件
- 让Qt的窗口最小化最大化及关闭按钮都消失
- 为Fedora 16 窗口 添加最大化、最小化、关闭等按钮
- 一步步搭建Ubuntu环境——修改Ubuntu窗口最小化、最大化、关闭按钮位置
- 怎么关闭Win7自动最大化窗口的功能
- Mac窗口的关闭,最小化,最大化按钮事件处理
- ubuntu 将最大化,最小化,关闭按钮置于窗口右侧
- ubuntu窗口最大化/最小化/关闭三个图标问题