利用activate和deactivate事件来控制Flex应用是否得到焦点(Focus)
By Minidxer | March 4, 2008
下面的例子展示了通过监听<mx:Application />中的activate和deactivate事件,如何去控制/限定Flex应用程序是否得到焦点。
下面是具体的例子的代码:
Download: main.mxml
- <?xml version="1.0" encoding="utf-8"?>
- <!-- http://blog.flexexamples.com/2008/02/29/determining-if-a-flex-application-has-focus-using-the-activate-and-deactivate-events/ -->
- <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
- layout="vertical"
- verticalAlign="middle"
- backgroundColor="white"
- activate="application_activate(event);"
- deactivate="application_activate(event);">
- <mx:Script>
- <![CDATA[
- import mx.controls.dataGridClasses.DataGridColumn;
- private function application_activate(evt:Event):void {
- arrColl.addItemAt({type:evt.type, time:getTimer()}, 0);
- }
- private function time_labelFunc(item:Object, col:DataGridColumn):String {
- return numberFormatter.format(item[col.dataField]);
- }
- ]]>
- </mx:Script>
- <mx:ArrayCollection id="arrColl" />
- <mx:NumberFormatter id="numberFormatter"
- useThousandsSeparator="true" />
- <mx:DataGrid id="dataGrid"
- dataProvider="{arrColl}"
- width="320"
- rowCount="8"
- verticalScrollPolicy="on">
- <mx:columns>
- <mx:DataGridColumn dataField="type" />
- <mx:DataGridColumn dataField="time"
- headerText="time (ms)"
- labelFunction="time_labelFunc" />
- </mx:columns>
- </mx:DataGrid>
- </mx:Application>
下面是运行效果:
原文作者:Peter deHaan 翻译:minidxer
Topics:
Flex |
Tags: activate, deactivate, Flex, Focus