フォーカスについて
フォーカスとは?
■フォーカスとは?
ボタンやラジオボタンやチェックボックスなどのさまざまな入力用コンポーネントが存在する中で、「現在どのコンポーネントを選択していて入力が可能な状態であるか」を表すのがフォーカスです。
フォーカスはひとつだけ存在します。
例えば3つのテキストフィールドが存在したとしても、キーボードで実際に入力できるのは、1つのテキストフィールドのみです。
マウスで別のテキストフィールドをクリックする事で、入力可能となる権利がそのテキストフィールドに渡ります。
自身にフォーカスがある状態をアクティブな状態、
フォーカスが失われている状態を非アクティブな状態といいます。
テキストフィールドのフォーカスは、アクションスクリプトを使って制御する事ができます。
フォーカスのあるインスタンスを調べる
サンプルをダウンロード
■フォーカスのあるインスタンスを取得する
現在フォーカスのあるインスタンスを調べるには、Selection.getFocus() メソッドを使用します。
フォーカスが存在しない場合、null が返ります。
フォーカスが存在する場合、現在アクティブであるインスタンスの絶対パスが文字列として返ります。
現在フォーカスのあるインスタンスの絶対パスを文字列として取得する
var select = Selection.getFocus();
trace(select);
インスタンスにフォーカスを与える
サンプルをダウンロード
■インスタンスにフォーカスをセットする
ボタンや、ラジオボタン、チェックボックスなどのコンポーネントや、テキストフィールドにフォーカスを与えたい場合は、Selection.setFocus() メソッドを使用します。
引数に、インスタンスの絶対パスを文字列で指定するか、参照そのものを渡します。
成功すれば、true が返ります。失敗すれば false が戻ります。
インスタンス "_root.button" にフォーカスを与える
var result = Selection.setFocus("_root.button");
trace(result);
チェックボックス check_box を作成してフォーカスを与える(Flash 6 以降)
onMouseUp = function(){
var check_box = _root.createObject("CheckBox", "chkbox", 0);
var result = Selection.setFocus(check_box);
trace(result);
}
テキストフィールドの編集位置を調べる
サンプルをダウンロード
■テキストフィールドの現在の点滅カーソル位置を調べる
テキストフィールドの現在の点滅カーソル位置を取得するには、Selection.getCaretIndex() メソッドを使用します。
点滅カーソルが表示されていなければ、-1 、
点滅カーソルが表示されていればカーソルの位置が返ります。
テキストフィールドの現在の点滅カーソル位置を調べる
var sel = Selection.getCaretIndex();
trace(sel);
■テキストフィールドの現在の範囲選択の開始位置を調べる
テキストフィールドの現在の範囲選択の開始位置を取得するには、Selection.getBeginIndex() メソッドを使用します。
選択していなければ、-1 、選択していれば範囲選択の開始位置が返ります。
テキストフィールドの現在の範囲選択の開始位置を調べる
var sel_begin = Selection.getBeginIndex();
trace(sel_begin);
■テキストフィールドの現在の範囲選択の終了位置を調べる
テキストフィールドの現在の範囲選択の終了位置を取得するには、Selection.getEndIndex() メソッドを使用します。
選択していなければ、-1 、選択していれば範囲選択の終了位置が返ります。
テキストフィールドの現在の範囲選択の終了位置を調べる
var sel_end = Selection.getEndIndex();
trace(sel_end);
テキストフィールドを範囲選択する
サンプルをダウンロード
■テキストフィールドを範囲選択する
現在フォーカスがあるテキストフィールドの範囲選択を変更するには、Selection.setSelection() メソッドを使用します。
第01引数に開始位置、
第02引数に終了位置をセットします。
テキストフィールドを作成してフォーカスをセットし範囲選択をセットする(Flash 6 以降)
_root.createTextField("tf",0,10,10,300,30);
var tf = _root.tf;
tf.text = "あいうえおかきくけこさしすせそたちつてとなにぬねの";
Selection.setFocus(tf);
Selection.setSelection(10,20);

