我在window.js中创建一个菜单,当我们点击它时,当前的浏览器窗口位置会发生变化。我有我的app.js文件,我在其中创建了我的browserWindow并设置了x,y。现在我该如何更改当前browserWindow的x,y值?
app.js中的我的BrowserWindow
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)
答案 0 :(得分:0)
在menuItem中,单击当前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);
}
}