Приложение AIR, установите положение курсора в форме - PullRequest
2 голосов
/ 07 мая 2009

У меня есть приложение AIR с формой для входа. Что я хочу сделать, это установить курсор в первом поле ввода текста. Мне удается установить фокус только на поле, но не на курсор.

У кого-нибудь есть идеи, как мне это сделать?

Ответы [ 4 ]

3 голосов
/ 07 мая 2009

Чтобы переместить курсор text к TextField, вы просто устанавливаете для этого поля свойство фокуса stage на это поле.

stage.focus = myTextField;

Чтобы переместить курсор к определенному индексу в этом TextField, используйте setSelection () :

myTextField.setSelection(54, 70);
1 голос
/ 21 февраля 2012

Я могу посоветовать активировать собственное окно , прежде чем фокусироваться на вводе текста. Примерно так:

private function creationCompleteHandler(event:FlexEvent):void {
    stage.nativeWindow.activate();
    loginName.setFocus();
    loginName.selectAll();
}
1 голос
/ 07 мая 2009

Из того, что я знаю, нет способа управлять мышью в actionscript (flash), свойство mouseX / mouseY доступно только для чтения.

Однако вы можете создать «искусственную мышь», которую можно перемещать в приложении AIR, но я сомневаюсь, что это то, что вы хотите сделать, например: http://www.senocular.com/demo/VirtualMouse/VirtualMouse.html

0 голосов
/ 02 марта 2010

Вам нужно подождать, пока гибкий контейнер будет зарегистрирован в списке отображения, чтобы получить доступ к сцене.

Сделайте вызов init для вашего обработчика creationComplete:

<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>
...