Ang*_*lez 5 javascript electron
我正在创建一个 Electron 应用程序,我们希望将导航工具栏停靠在屏幕的右侧。它需要位于右侧,因为我们大多数用户都使用 Windows,将其停靠在左侧意味着它会重叠很多图标,并且会被开始菜单覆盖。
当用户单击图标时,我需要向左打开窗口/调整大小。
在应用程序启动时,我创建一个新窗口
mainWindow = new BrowserWindow({
width: 800,
height: 600,
center: true,
backgroundColor: '#18A4FC'
})
Run Code Online (Sandbox Code Playgroud)
然后,在用户通过身份验证后,我使用 ipcRender 将成功消息发送到 main.js 文件。目前,这使用 setBounds 方法和屏幕尺寸将窗口“停靠”在屏幕右侧。
ipcMain.on('login-success', () => {
let display = electron.screen.getPrimaryDisplay()
const { width, height } = display.bounds
mainWindow.setBounds({
x: width - 40,
y: 0,
width: 40,
height: height
})
})
Run Code Online (Sandbox Code Playgroud)
然后,当用户单击图标时,我使用 setSize 来“打开”扩展坞。这意味着我将窗口的宽度从 40px 更改为 480px。但它向右侧打开,在屏幕外。我需要它向左打开。
ipcMain.on('resize-open', () => {
let display = electron.screen.getPrimaryDisplay()
const { height } = display.bounds
mainWindow.setSize(480, height)
})
Run Code Online (Sandbox Code Playgroud)
有什么想法如何做到这一点?据我所知,宽度、高度是从左上角设置为 0,0 的。有什么办法可以重置这个吗?
我最终使用了 setBounds,而是将其向左移动到打开所需的数量。
let display = electron.screen.getPrimaryDisplay()
const { width, height } = display.bounds
mainWindow.setBounds({
x: width - 320 ,
y: height,
width: 320,
height: height
})
})```
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2101 次 |
| 最近记录: |