テキストの選択と操作

ダイナミックまたは入力テキストを選択できます。TextField クラスのテキスト選択プロパティとメソッドは、インデックス位置を使用して操作するテキストの範囲を設定するので、コンテンツがわからない場合でも、プログラムによってダイナミックまたは入力テキストを選択することができます。

メモ

 

Flash オーサリングツールでは、選択可能にするオプションを静止テキストフィールドで選択した場合、表示リストにエクスポートされて配置されるテキストフィールドは、通常のダイナミックテキストフィールドになります。

サブトピック

テキストの選択
ユーザー選択テキストのキャプチャ

テキストの選択

flash.text.TextField.selectable プロパティはデフォルトで true になっています。したがって、setSelection() メソッドを使用してプログラムでテキストを選択することができます。

たとえば、ユーザーがテキストフィールドをクリックしたときにそのテキストフィールドの内部の特定のテキストが選択されるように設定することができます。

var myTextField:TextField = new TextField();
myTextField.text = "No matter where you click on this text field the TEXT IN ALL CAPS is selected.";
myTextField.autoSize = TextFieldAutoSize.LEFT;
addChild(myTextField);
addEventListener(MouseEvent.CLICK, selectText);

function selectText(event:MouseEvent):void
{
    myTextField.setSelection(49, 65);
}

テキストフィールド内のテキストが最初に表示されるときにそのテキストが選択されるようにする場合も、同様にして、テキストフィールドが表示リストに追加されるときに呼び出されるイベントハンドラ関数を作成します。

ユーザー選択テキストのキャプチャ

TextField クラスの selectionBeginIndex プロパティと selectionEndIndex プロパティを使用すると、ユーザーが現在選択している内容をキャプチャできます。これらのプロパティは "読み取り専用" のため、プログラムに従ってテキストを選択するように設定することはできません。また、入力テキストフィールドでは caretIndex プロパティを使用できます。

たとえば、次のコードではユーザー選択テキストのインデックス値をトレースしています。

var myTextField:TextField = new TextField();
myTextField.text = "Please select the TEXT IN ALL CAPS to see the index values for the first and last letters.";
myTextField.autoSize = TextFieldAutoSize.LEFT;
addChild(myTextField);
addEventListener(MouseEvent.MOUSE_UP, selectText);

function selectText(event:MouseEvent):void
{
    trace("First letter index position: " + myTextField.selectionBeginIndex);
    trace("Last letter index position: " + myTextField.selectionEndIndex);
}

選択範囲に TextFormat オブジェクトのプロパティのコレクションを適用すると、テキストの外観を変更することができます。選択されているテキストに TextFormat のプロパティのコレクションを適用する方法の詳細については、テキストフィールド内のテキストの範囲のフォーマットを参照してください。


 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート

現在のページ: http://livedocs.adobe.com/flash/9.0_jp/main/00000226.html