ログインフォームを備えた AIR アプリケーションがあります。私がやりたいことは、最初のテキスト入力ボックスにカーソルを設定することです。ボックスにのみフォーカスを設定できますが、カーソルには設定できません。
どうすればこれを行うことができるかについて、誰かが考えを持っていますか?
ログインフォームを備えた AIR アプリケーションがあります。私がやりたいことは、最初のテキスト入力ボックスにカーソルを設定することです。ボックスにのみフォーカスを設定できますが、カーソルには設定できません。
どうすればこれを行うことができるかについて、誰かが考えを持っていますか?
テキストカーソルをTextFieldに移動するには、ステージのfocusプロパティをそのフィールドに設定するだけです。
stage.focus = myTextField;
そのTextField内の特定のインデックスにカーソルを移動するには、setSelection()を使用します。
myTextField.setSelection(54, 70);
私が知っていることから、actionscript (フラッシュ) でマウスを制御する方法がないため、mouseX / mouseY プロパティは読み取り専用です。
ただし、AIR アプリケーション内で移動できる「偽のマウス」を作成することはできますが、それがやりたいことだとは思えません。例: http://www.senocular.com/demo/VirtualMouse/VirtualMouse.html
テキスト入力にフォーカスを設定する前に、ネイティブ ウィンドウをアクティブに設定することをお勧めします。このようなもの:
private function creationCompleteHandler(event:FlexEvent):void {
stage.nativeWindow.activate();
loginName.setFocus();
loginName.selectAll();
}
ステージにアクセスするには、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>