2009-08-26 12 views
3

私はタッチスクリーンフレックスアプリ用の仮想キーボードを作成しています。私はKeyboardEventをディスパッチしてキープレスをシミュレートしようとしています。私はイベントを聴いてそれに応じて動作するハンドラ関数を記述しました。これまでのところとても良いですが、集中しているtextInputs(簡単)、それらのフィールドのカーソル位置(簡単ではない)などを管理する必要があるので、複雑になり始めています。 実際にFlexが実際にキープレスとして解釈するKeyboardEventを送出します。これらの問題はすべて消えてしまいます...可能ですか?フレックス:キープレスのシミュレーション

+0

について同様の記事を書いています。したがって、ユーザはキーボード上のボタンの1つをタッチする(すなわちクリックする)。これにより、クリックイベントが生成されます。このイベントからKeyboardEventを生成し、その文字を追加してカーソルの位置を変更するようにテキストボックスに指示します。これは正しいです?そして、あなたが問題を抱えている場所は、テキストボックスが更新されないKeyboardEventを生成するときです。 – Dan

+0

はい、正しいです。私はそれを行うことができますが、KeyboardEventハンドラを使用して...代わりに私はちょうど(TextInputに焦点を当てて)イベントを送出しても何も起こらない場合。 –

+0

KeyboardEventをどのコンポーネントから送出していますか?私は正常に動作すると思うので、フォーカスを持ったテキストコンポーネントにイベントを送出する必要があります。myFocusedTextComponent.dispatchEvent(myNewlyCreatedKeyboardEvent) – Dan

答えて

4

TextInputは、テキスト入力にKeyboardEvent/TextEventを使用せず、Flash Player/Keyboardと対話する内部Flash TextFieldオブジェクトを使用します。

KeyboardEventは、発生したキーボードイベントの通知を有効にするために使用されます。

キーボードをシミュレートするには、KeyboardEventを受け取ったときにTextInputのテキストプロパティとそれに応じてカーソル位置を変更するクラスを作成する必要があります。

アレックスHaruiは私は完全にここで制御フローを理解していないこのFlexCoders Post

関連する問題