I hope this will give you a better picture:
Just run it:




<?xml version="1.0" encoding="utf-8"?>
 <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml";
 layout="vertical"
 verticalAlign="middle"
 backgroundColor="white"
 creationComplete="onCreationComplete()">
 <mx:Script>
 <![CDATA[
 import mx.controls.Alert;
  private function onCreationComplete() : void
 {
 trace("on Creation Complete");
 systemManager.addEventListener(Event.DEACTIVATE,
 onDeactivate);
  systemManager.addEventListener(Event.ACTIVATE,
 onActivate);
  }
   private function onActivate(event : Event) : void
 {
 trace("Event.ACTIVATE is CAlled now");
 }
  private function onDeactivate(event : Event) : void
 {
 trace("Event.DEACTIVE is fired for some reason");
 }
 ]]>
 </mx:Script>
  </mx:Application>




-------
Thanks & Regards,
D



On Thu, Apr 23, 2009 at 11:52 AM, Andriy Panas <[email protected]> wrote:

>
>
> Hi Alex,
>
> I understand what is the meaning of Event.DEACTIVATE event.
>
> What I do not understand is why Event.DEACTIVATE is dispatched by
> Flash player when the following example is run.
>
> <------------code starts--------------->
>
> <?xml version="1.0" encoding="utf-8"?>
> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml";
> layout="vertical"
> verticalAlign="middle"
> backgroundColor="white"
> creationComplete="onCreationComplete()">
> <mx:Script>
> <![CDATA[
> import mx.controls.Alert;
>
> private function onCreationComplete() : void
> {
> systemManager.addEventListener(Event.DEACTIVATE,
> onDeactivate, false, 0, true);
>
> }
>
> private function onDeactivate(event : Event) : void
> {
> trace("Event.DEACTIVE is fired for some reason")
> }
> ]]>
> </mx:Script>
> <mx:ArrayCollection id="arrColl">
> <mx:source>
> <mx:Array>
> <mx:Object label="Student A" score="10" />
> <mx:Object label="Student B" score="20" />
> <mx:Object label="Student C" score="30" />
> <mx:Object label="Student D" score="50" />
> <mx:Object label="Student A" score="10" />
> <mx:Object label="Student B" score="20" />
> <mx:Object label="Student C" score="30" />
> <mx:Object label="Student D" score="50" />
> </mx:Array>
> </mx:source>
> </mx:ArrayCollection>
> <mx:DataGrid
> editable="true"
> width="100%"
> height="200"
> dataProvider="{arrColl}">
> <mx:columns>
> <mx:DataGridColumn id="column1"
> dataField="label"
> editorDataField="value">
> <mx:itemEditor>
> <mx:Component>
> <mx:ComboBox>
> <mx:dataProvider>
> <mx:String>Student A</mx:String>
> <mx:String>Student B</mx:String>
> <mx:String>Student C</mx:String>
> <mx:String>Student D</mx:String>
> </mx:dataProvider>
> </mx:ComboBox>
> </mx:Component>
> </mx:itemEditor>
>
> </mx:DataGridColumn>
> </mx:columns>
> </mx:DataGrid>
> </mx:Application>
>
> <-------code ends------------------>
>
> I enter the Datagrid's first row item editor (which is Combobox
> with editable="false") and then hit TAB key instantly without
> releasing.
>
> By doing so I witness that "onDeactivate" event handler is fired
> every time I move via keyboard tabbing to a new itemEditor.
>
> --
> Best regards,
> Andriy Panas
>
> 2009/4/20 Alex Harui <[email protected] <aharui%40adobe.com>>:
>
> >
> >
> > DEACTIVATE is used to detect that the browser or some other application
> is
> > taking focus so we close any editor that may be up.
>
>  
>

Reply via email to