监听窗体事件
如要监听窗体发出的事件,可通过窗体注册一个监听器,例如,要监听closing事件,用下面的代码注册:
myWindow.addEventListener(Event.CLOSING, onClosingEvent);
当事件发出时,窗体引用的target属性发出该事件。
大多数窗体事件都有两种消息,第一个消息是该窗体的变化快要临近(是可以取消的),而另一个消息表示变化已经发生。例如,当用户点击关闭按钮,则closing事件消息被触发,如果没有监听器取消该事件,则窗体被关闭。
flash.events.Event 类的相关事件:
ACTIVATE
DEACTIVATE
CLOSING
CLOSE
NativeWindowBoundsEvent:
使用beforeBounds和afterBounds属性来检测窗体边界是否即将改变或已经完成改变。
MOVING
MOVE
RESIZING
RESIZE
NativeWindowDisplayStateEvent:
使用beforeDisplayState和afterDisplayState 属性检测窗体改变状态是即将改变还是已经完成改变。
DISPLAY_STATE_CHANGING
DISPLAY_STATE_CHANGE
使用全屏模式
这是Stage的displayState属性为StageDisplayState.FULL_SCREEN使窗体进入全屏模式,全屏模式下鼠标和键盘仍有效。(如果在浏览器中运行的SWF,这键盘无效),如要退出全屏模式,只要点击ESC键即可。
例如,下面的Flex代码定义一个简单全屏模式的AIR应用程序:
代码
<?xml version="1.0" encoding="utf-8"?><mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
applicationComplete="init()" backgroundColor="0x003030" focusRect="false">
<mx:Script>
private function init():void
{
stage.displayState = StageDisplayState.FULL_SCREEN;
focusManager.setFocus(terminal);
terminal.text = "Welcome to the dumb terminal app. Press the ESC key to exit.. ";
terminal.selectionBeginIndex = terminal.text.length;
terminal.selectionEndIndex = terminal.text.length;
}
</mx:Script>
<mx:TextArea
id="terminal"
height="100%" width="100%"
scroll="false"
backgroundColor="0x003030"
color="0xCCFF00"
fontFamily="Lucida Console"
fontSize="44"/>
</mx:WindowedApplication>


