Menu có thể được ẩn hoặc tự động ẩn (như trong Slack hoặc VS Code - bạn có thể nhấn Alt để hiển thị / ẩn menu).
Các phương pháp liên quan:
---- win.setMenu (menu) - Đặt menu làm thanh menu của cửa sổ, đặt thành null sẽ xóa thanh menu. ( Thao tác này sẽ xóa menu hoàn toàn )
mainWindow.setMenu(null)
---- win.setAutoHideMenuBar (ẩn) - Đặt xem thanh menu cửa sổ có tự động ẩn hay không. Sau khi thiết lập , thanh menu sẽ chỉ
hiển thị khi người dùng nhấn một phím Alt .
mainWindow.setAutoHideMenuBar(true)
Nguồn: https://github.com/Automattic/simplenote-electron/issues/293
Ngoài ra còn có một phương pháp để tạo một cửa sổ không có khung như được hiển thị bên dưới:
(không có nút đóng không có gì cả. Có thể là những gì chúng tôi muốn (thiết kế tốt hơn))
const { BrowserWindow } = require('electron')
let win = new BrowserWindow({ width: 800, height: 600, frame: false })
win.show()
https://electronjs.org/docs/api/browser-window#winremovemenu-linux-windows
doc: https://electronjs.org/docs/api/frameless-window
Chỉnh sửa: (mới)
win.removeMenu()
Linux Windows Xóa thanh menu của cửa sổ.
https://electronjs.org/docs/api/browser-window#winremovemenu-linux-windows
Đã thêm win.removeMenu () để xóa menu ứng dụng thay vì sử dụng win.setMenu (null)
Điều đó được thêm vào từ v5 như sau:
https://github.com/electron/electron/pull/16570
https://github.com/electron/electron/pull/16657
Lỗi Electron v7
Đối với Electron 7.1.1 sử dụng Menu.setApplicationMenu
thay vìwin.removeMenu()
theo chủ đề này:
https://github.com/electron/electron/issues/16521
Và lưu ý lớn là: bạn phải gọi nó trước khi tạo BrowserWindow ! Hoặc nó sẽ không hoạt động!
const {app, BrowserWindow, Menu} = require('electron')
Menu.setApplicationMenu(null);
const browserWindow = new BrowserWindow({/*...*/});
CẬP NHẬT (Đặt autoHideMenuBar trên xây dựng BrowserWindow)
Theo bình luận của @kcpr! Chúng ta có thể đặt thuộc tính và nhiều thuộc tính trên hàm tạo
Nó có sẵn trên phiên bản electron ổn định mới nhất tính đến thời điểm hiện tại là 8.3!
Nhưng trong các phiên bản cũ, tôi đã kiểm tra v1, v2, v3, v4!
Nó có trong tất cả các phiên bản!
Theo liên kết này
https://github.com/electron/electron/blob/1-3-x/docs/api/browser-window.md
Và đối với v8.3
https://github.com/electron/electron/blob/v8.3.0/docs/api/browser-window.md#new-browserwindowoptions
Liên kết tài liệu
https://www.electronjs.org/docs/api/browser-window#new-browserwindowoptions
Từ tài liệu cho tùy chọn:
autoHideMenuBar Boolean (tùy chọn) - Tự động ẩn thanh menu trừ khi nhấn phím Alt. Mặc định là sai.
Dưới đây là một đoạn mã để minh họa nó:
let browserWindow = new BrowserWindow({
width: 800,
height: 600,
autoHideMenuBar: true // <<< here
})
frame: false
đã làm điều đó cho tôi.