| Flex 2 開発ガイド > Flex アプリケーションのユーザーインターフェイスの作成 > テキストコントロールの使用 > テキストの選択と修正 | |||
次の項で説明するとおり、TextArea、TextInput、および RichTextEditor コントロール内のテキストを選択および修正できます(Label または Text コントロールのテキストを変更するには、コントロールの text または HTMLtext プロパティに、新規の値を割り当てます)。HTMLText プロパティの詳細については、htmlText プロパティの使用を参照してください。
次の項で説明するとおり、Flex の編集可能なコントロールには、テキスト領域を選択し、選択内容を取得するためのプロパティとメソッドがあります。テキストの修正で説明されているとおり、選択内容を修正することができます。
RichTextEditor コントロールの TextArea サブコントロールを含む、TextInput および TextArea コントロールには、次に示すテキスト選択プロパティとメソッドがあります。
setSelection() メソッドは、テキストの範囲を選択します。テキスト内の開始文字と最終文字の直後の位置の 0 から始まるインデックスを指定します。selectionBeginIndex および selectionEndIndex は、テキスト内での選択内容の開始位置と、終了位置の直後の位置を設定または返します。位置は 0 から始まります。 たとえば、myTextArea TextArea コントロールの最初の 10 文字を選択する場合は、次のメソッドを使用します。
myTextArea.setSelection(0, 10);
選択内容の最後の文字を TextArea コントロールの 25 文字目に変更するには、次のステートメントを使用します。
myTextArea.endIndex=25;
RichTextEditor コントロールでテキストを選択するには、コントロールの TextArea サブコントロールを使用します。このサブコントロールには、textArea id を使用してアクセスします。たとえば、myRTE RichTextEditor コントロールで最初の 10 文字を選択するには、次のコードを使用します。
myRTE.textArea.setSelection(0, 10);
テキストコントロールの選択内容を取得するには、選択したテキストが含まれる TextRange オブジェクトを取得します。それから、TextRange オブジェクトを使用して、選択済みのテキストを修正します。詳細は、テキストの修正に記載されています。次の項で説明するとおり、選択内容を取得するときに使用する方法は、コントロールのタイプによって異なります。
TextArea または TextInput コントロールで現在選択されているテキストが含まれる TextRange オブジェクトを取得するには、TextRange クラスコンストラクタを使用します。たとえば、myTextArea コントロールの現在の選択内容を取得するには、次の行を使用します。
var mySelectedTextRange:TextRange = new TextRange(myTextArea, true);
2 番目の true パラメータは、選択済みのテキストが含まれる TextRange オブジェクトを返すようコンストラクタに指示します。
TextArea サブコントロール内の現在選択されているテキストが含まれる TextRange オブジェクトを取得するには、RichTextEditor の読み取り専用プロパティである selection を使用します。TextRange オブジェクトを使用して、選択済みのテキストを変更できます。詳細は、テキストの修正に記載されています。たとえば、MyRTE RichTextEditor コントロールの現在の選択内容を取得するには、次の行を使用します。
public var mySelectedTextRange:TextRange = myRTE.selection;
Flex 2.01