在Flex中按下“ESC”时,防止全屏退出

时间:2010-02-11 10:42:26

标签: flex events fullscreen projector

我们有一个Flex应用程序,它在启动时全屏显示(这可能是投影机.exe)。当用户按下ESC时,应用程序退出全屏模式。有什么方法可以防止这种情况吗?这是因为我们想要使用ESC键来实现其他功能。

通常在全屏模式下禁用所有键盘输入,但在我们将其作为投影仪运行时则不会。

我已经尝试过没有运气捕获FullScreenEvent.FULL_SCREEN事件(仅当用户在Adobe Flash Player中选择“全屏”或点击“CTRL + F”时才会触发此事件。

3 个答案:

答案 0 :(得分:6)

在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();
    }
}

答案 1 :(得分:4)

我不这么认为,如果有,我认为值得IT经理考虑阻止Flash使用。 Flash插件的用户应始终能够使用Esc键结束全屏。您应该考虑Esc密钥禁止。

答案 2 :(得分:2)

您可以使用Adobe AIR应用程序执行此操作,但不能使用Flash Player应用程序执行此操作。