Динамическое c переключение "autohideMenuBar" не работает? - PullRequest
0 голосов
/ 05 февраля 2020

Электрон 7.1.10, Windows 10

Когда мое приложение переходит в полноэкранный режим, я пытаюсь отключить видимость меню и сделать его "автоматически скрытым", чтобы его можно было доступ через Alt-ключ. Приведенный ниже код отключает его, но не включает поведение «открыть через Alt-ключ».

Я пытался закомментировать вызовы mainindow.setMenuBarVisibility();, поскольку, возможно, это абсолютно: меню никогда не будет отображаться, но затем меню по-прежнему отображается на весь экран. Я также попытался изменить порядок, чтобы я позвонил mainindow.autohideMenuBar = true перед установкой видимости на false. Не повезло.

Кто-нибудь еще сталкивался с этим?

Документы BrowserWindow указывают, что то, что я пытаюсь сделать, должно работать:

win.setMenuBarVisibility (visible) Windows Linux

visible Boolean

Устанавливает, должна ли отображаться строка меню. Если строка меню автоматически скрыта, пользователи все равно могут вызвать строку меню, нажав одну клавишу Alt.


    if (mainindow.isFullScreen()) {
        // coming out of full screen
        mainindow.setMenuBarVisibility(true);
        mainindow.autohideMenuBar = false
        mainindow.setFullScreen(false);
    } else {
        // entering full screen
        mainindow.setMenuBarVisibility(false);
        mainindow.autohideMenuBar = true
        mainindow.setFullScreen(true);
    }

1 Ответ

0 голосов
/ 05 февраля 2020

Таким образом, установка свойства не работает, но используется более старый метод setAutoHideMenuBar - хотя docs заявляет, что устарело . Похоже на ошибку.

В настоящее время команда Electron реализует инициативу по преобразованию отдельных функций получения и установки в Electron для задания свойств с помощью функций get и set. В течение этого переходного периода как новые свойства, так и старые методы получения и установки этих функций будут работать правильно и документироваться.


win.setAutoHideMenuBar (скрыть)

hide Boolean

Устанавливает, должна ли строка меню окна автоматически скрываться. После установки строка меню будет отображаться только тогда, когда пользователи нажимают одну клавишу Alt.

Если строка меню уже видна, вызов setAutoHideMenuBar (true) не скрывает ее немедленно.

Устаревший


if (mainWindow.isFullScreen()) {
    // coming out of FS
    // mainWindow.autohideMenuBar = false
    mainWindow.setAutoHideMenuBar(false);
    mainWindow.setMenuBarVisibility(true);
    mainWindow.setFullScreen(false);
} else {
    // mainWindow.autohideMenuBar = true
    mainWindow.setAutoHideMenuBar(true);
    mainWindow.setMenuBarVisibility(false);
    mainWindow.setFullScreen(true);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...