Flex中如何利用键盘关闭(Esc)一个弹出窗口的例子
By Minidxer | August 6, 2008
接下来的例子演示了Flex中如何利用键盘关闭(Esc)一个弹出窗口。
让我们先来看一下Demo(可以右键View Source或点击这里察看源代码):
下面是完整代码(或点击这里察看):
Download: main.mxml
- <?xml version="1.0" encoding="utf-8"?>
- <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
- layout="vertical"
- verticalAlign="top"
- backgroundColor="white">
- <mx:Script>
- <![CDATA[
- import mx.managers.PopUpManager;
- private function button_click(evt:MouseEvent):void {
- var popUpTitleWindow:PopUpTitleWindow = new PopUpTitleWindow();
- PopUpManager.addPopUp(popUpTitleWindow, this, true);
- }
- ]]>
- </mx:Script>
- <mx:Button id="button"
- label="Launch Window"
- click="button_click(event);" />
- </mx:Application>
下面是PopUpTitleWindow.mxml的代码:
Download: main.mxml
- <?xml version="1.0" encoding="utf-8"?>
- <mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml"
- showCloseButton="true"
- styleName="noPadding"
- layout="absolute"
- width="300"
- height="200"
- creationComplete="init();"
- resize="init();"
- close="titleWindow_close(event);"
- keyDown="titleWindow_keyDown(event);">
- <mx:Style>
- .noPadding {
- paddingBottom: 0;
- paddingTop: 0;
- paddingLeft: 0;
- paddingRight: 0;
- }
- </mx:Style>
- <mx:Script>
- <![CDATA[
- import mx.core.IFlexDisplayObject;
- import mx.events.CloseEvent;
- import mx.managers.PopUpManager;
- [Bindable]
- public var source:String;
- private function init():void {
- PopUpManager.centerPopUp(this);
- this.setFocus();
- }
- private function titleWindow_close(evt:CloseEvent):void {
- PopUpManager.removePopUp(evt.target as IFlexDisplayObject);
- }
- private function titleWindow_keyDown(evt:KeyboardEvent):void {
- if (evt.charCode == Keyboard.ESCAPE) {
- this.dispatchEvent(new CloseEvent(CloseEvent.CLOSE));
- }
- }
- ]]>
- </mx:Script>
- <mx:Label id="lbl"
- text="Press ESC to close this window."
- fontWeight="bold"
- truncateToFit="true"
- horizontalCenter="0"
- verticalCenter="0" />
- <mx:ControlBar horizontalAlign="right" width="100%">
- </mx:ControlBar>
- </mx:TitleWindow>
Topics:
Flex |
No Comments » |
1,132 views
Tags: dispatchEvent, Esc, keyDown, PopUpManager, removePopUp, 键盘