Запретить выход из полноэкранного режима при нажатии «ESC» во Flex - PullRequest
3 голосов
/ 11 февраля 2010

У нас есть приложение Flex, которое запускается в полноэкранном режиме при запуске (что возможно, если это проектор .exe). Когда пользователь нажимает ESC, приложение выходит из полноэкранного режима. Есть ли способ предотвратить это? Это потому, что мы хотим использовать ESC-ключ для других функций.

Обычно весь ввод с клавиатуры отключен в полноэкранном режиме, но не тогда, когда мы запускаем его как проектор.

Я уже пытался захватить событие FullScreenEvent.FULL_SCREEN без удачи (это событие запускается, только когда пользователь выбирает «Полный экран» в Adobe Flash Player или нажимает «CTRL + F».

Ответы [ 3 ]

6 голосов
/ 27 февраля 2012

В Adobe Air вы можете сделать это, позвонив по номеру preventDefault() на KeyboardEvent:

protected function windowedapplication_preinitializeHandler(event:FlexEvent):void
{
    nativeWindow.stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);
    nativeWindow.stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE;
}

protected function onKeyDown(event:KeyboardEvent):void
{
    if (event.keyCode == 27)
    {
        event.preventDefault();
    }
}
4 голосов
/ 11 февраля 2010

Я так не думаю, и, если таковые имеются, я думаю, что это может стоить ИТ-менеджерам рассмотреть вопрос о блокировке использования Flash. Пользователи плагина Flash всегда должны иметь возможность завершить полноэкранный режим клавишей Esc. Вы должны учитывать клавишу Esc как запретную.

2 голосов
/ 12 февраля 2010

Это можно сделать с помощью приложения Adobe AIR, но не с помощью приложения Flash Player.

...