2

ログインフォームを備えた AIR アプリケーションがあります。私がやりたいことは、最初のテキスト入力ボックスにカーソルを設定することです。ボックスにのみフォーカスを設定できますが、カーソルには設定できません。

どうすればこれを行うことができるかについて、誰かが考えを持っていますか?

4

4 に答える 4

3

テキストカーソルをTextFieldに移動するには、ステージのfocusプロパティをそのフィールドに設定するだけです。

stage.focus = myTextField;

そのTextField内の特定のインデックスにカーソルを移動するには、setSelection()を使用します。

myTextField.setSelection(54, 70);
于 2009-05-07T18:19:06.783 に答える
1

私が知っていることから、actionscript (フラッシュ) でマウスを制御する方法がないため、mouseX / mouseY プロパティは読み取り専用です。

ただし、AIR アプリケーション内で移動できる「偽のマウス」を作成することはできますが、それがやりたいことだとは思えません。例: http://www.senocular.com/demo/VirtualMouse/VirtualMouse.html

于 2009-05-07T14:46:03.380 に答える
1

テキスト入力にフォーカスを設定する前に、ネイティブ ウィンドウをアクティブに設定することをお勧めします。このようなもの:

private function creationCompleteHandler(event:FlexEvent):void {
    stage.nativeWindow.activate();
    loginName.setFocus();
    loginName.selectAll();
}
于 2012-02-21T12:41:24.550 に答える
0

ステージにアクセスするには、flex コンテナーが表示リストに登録されるのを待つ必要があります。

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>
于 2010-03-01T23:28:46.157 に答える