2009-05-07 57 views

回答

0

你需要等待柔性容器與顯示列表中註冊,所以你訪問階段。

將呼叫從您creationComplete處理函數給init:

<mx:Script> 
    <![CDATA[ 
     import flash.events.Event; 

     private function init():void 
     { 
      addEventListener(Event.ADDED_TO_STAGE, initScreen, false); 

     } 

     private function initScreen(e:Event):void 
     { 
      removeEventListener(Event.ADDED_TO_STAGE, initScreen); 
      stage.focus = userName; 
     } 

    ]]> 
</mx:Script> 

<mx:Form defaultButton="{enterBtn}"> 

    <mx:FormHeading label="Form" /> 
    <mx:FormItem label="Username" tabIndex="1"> 
     <mx:TextInput id="userName" text="" selectionBeginIndex="0" /> 
    </mx:FormItem> 
    <mx:FormItem label="Password" tabIndex="2"> 
     <mx:TextInput displayAsPassword="true" id="password"/> 
    </mx:FormItem> 

</mx:Form> 
+0

謝謝,工作完美。 – Freedo 2010-03-03 18:08:12

3

要移動文本光標到TextField您只需將stage's focus property設置爲該字段即可。

stage.focus = myTextField;

要將光標移動到特定的索引文本字段內,使用setSelection()

myTextField.setSelection(54, 70); 
1

我可以告訴給之前將焦點設置文本輸入設置爲激活本地窗口。 類似這樣的:

private function creationCompleteHandler(event:FlexEvent):void { 
    stage.nativeWindow.activate(); 
    loginName.setFocus(); 
    loginName.selectAll(); 
}