electron - 如何在没有遥控器的情况下创建关闭、最大化和最小化按钮?
问题描述
创建一个无框窗口,我需要 3 个操作按钮来“关闭”、“最小化”和“最大化”。
我曾经像这样创建它们:
在我的 main.js 里面:
function createWindow () {
const mainWindow = new BrowserWindow({
(...)
frame:false,
webPreferences: {
nodeIntegration: true,
(...)
}
})
在我的页面 JS 文件中,我只是用来写:
const {remote} = require('electron');
function close() {
var window = remote.getCurrentWindow();
window.close();
}
function minimize() {
var window = remote.getCurrentWindow();
window.minimize();
}
它仍然有效..但我收到此警告:
“Electron 弃用警告 'remote' 模块已弃用,将在未来版本的 Electron 中默认禁用。为确保顺利升级并消除此警告,请在此窗口的 WebPreferences 中指定 {enableRemoteModule: true}。”
而且我真的找不到不使用遥控器的方法来执行此操作。我很感激任何帮助!谢谢
解决方案
您应该从渲染器进程向主进程发送一条消息。
所以在你的渲染器过程中添加一个事件到你的最大化按钮并发送一条消息:
const ipc = require('electron').ipcRenderer;
ipc.send('max');
在您的主进程中收到此消息:
ipcMain.on('max', () => {
//mainWindow is the reference to your window
mainWindow.maximize()
})
要在主进程中启用 ipcMain,请像这样添加 ipcMain:
const {app, BrowserWindow, ipcMain} = require('electron');
推荐阅读
- image - 如何使用 IUP 和 IM 使用 Lua 添加图像标签/按钮?
- snapshot - 如何删除 CloudPageBlob 类型 blob 对象的特定快照?
- bazel - 让 rules_cc 使用最新版本的 GCC
- laravel - Laravel 使用 Eloquent 在一个查询中创建多条记录并获取创建的模型
- python - 使用 BeautifulSoup 进行 Web 抓取时出现错误 429
- javascript - Rails 6.0.4 远程:true 不在浏览器中 js/ajax 渲染 _partial.html.erb
- reactjs - 在@devexpress/dx-react-chart-material-ui 中绘制areaeries 的顶部曲线
- java - Firebase 日志不起作用,并且在 firebase 上看不到日志
- php - 为什么我的电报机器人“callback_query”不起作用?
- google-app-engine - app.yaml 在 App Engine 上部署静态网站时出现问题,图像不会显示