我目前正在使用ElectronJS开发无框架应用程序,在该应用程序中,我试图让父窗口处理拖动,最小化,最大化和退出操作,以及用于处理所有子窗口的子窗口控制器内容。但是,当我在main.js中将父级设置为主窗口时,移动父级时内容窗口会保留在原位。
下面是我的main.js:
const electron = require('electron');
const url = require('url');
const path = require('path');
const {app, BrowserWindow, Menu} = electron;
let mainWindow;
let contentWindow;
app.on('ready', function createWindow(){
//Create window
mainWindow = new BrowserWindow({
width: 1280,
height: 720,
frame: false
})
contentWindow = new BrowserWindow({
width: 1280,
height: 720,
frame: false,
parent: mainWindow
})
//load html for window
mainWindow.loadURL(url.format({
pathname: path.join(__dirname, 'assets/html/mainWindow.html'),
protocol:'file:',
slashes: true
}));
contentWindow.loadURL(url.format({
pathname: path.join(__dirname, 'assets/html/contentWindow.html'),
protocol:'file:',
slashes: true
}));
});
mainWindow.html中的div之一具有-webkit-app-region: drag;
,以使其像普通窗口一样充当顶部栏。基本上,我希望这两个窗口都移动。
答案 0 :(得分:0)
据我所知,您的目标基本上是这样,只有具有父窗口和子窗口Doc的macOS才支持我达到孩子与父移动的方式,就是我听从父级移动事件并重新计算子级的位置。不是最好的方法,但是它可行。
mainWindow.on("move", function () {"calculate and set new position here"}
答案 1 :(得分:0)