gpt4 book ai didi

node.js - 在 Electron 应用程序中动态更改BrowserWindow位置

转载 作者:太空宇宙 更新时间:2023-11-04 01:57:28 24 4
gpt4 key购买 nike

我正在 window.js 中创建一个菜单,当我们单击它时,当前浏览器窗口位置将会改变。我有我的 app.js 文件,我在其中创建了 browserWindow 并设置了 x,y 。现在如何更改当前 browserWindow 的 x,y 值?

app.js 中的我的浏览器窗口

 window = new BrowserWindow({
width: 265,
height: screenheight,
x: screenXPosition,
y: 0,
icon: "icon.ico",
skipTaskbar: true,
alwaysOnTop: false,
show: false,
frame: false,
autoHideMenuBar: true,
transparent: true,
// resizable: false
})

我有一个 Window.js 文件,我的菜单在其中。是否需要将当前窗口实例传递给 window.js?如果是,我应该如何将当前的 browserWindow 实例传递给 window.js 到 app.js ?我们如何改变 x,y 值?是否可以 ?我的 window.js 菜单

//Menu
const menu = new Menu()
// Build menu one item at a time, unlike
menu.append(new MenuItem({
label: 'Settings'

}))
menu.append(new MenuItem({
type: 'separator'
}))
menu.append(new MenuItem({
label: 'position',
submenu: [{
label: 'right',
role: '25%',
type: 'checkbox',
checked: true,
click: function () {
console.log('25%');
}
},
{
type: 'separator'
},
{
label: 'left',
role: '50%',
click: function () {
console.log('50%');
}
},
{
type: 'separator'
},
{
label: 'center',
role: '50%',
click: function () {
console.log('50%');
}
}
]
}))
window.addEventListener('contextmenu', (e) => {
e.preventDefault()
menu.popup(remote.getCurrentWindow())
}, false)

最佳答案

在菜单项中单击,有一个当前browserWindow的参数。

要设置 x 和 y 位置,您可以使用 window.setPosition(x, y)

所以你的 menuItem 代码将是这样的:

{
label: 'right',
role: '25%',
type: 'checkbox',
checked: true,
click: function (item, focusedWindow) {
console.log('25%');
focusedWindow.setPosition(10, 10);
}
}

window.setPosition

menuItem arguments

关于node.js - 在 Electron 应用程序中动态更改BrowserWindow位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47328926/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com