テキストの選択

提供: RAD Studio
移動先: 案内検索

コントロール内のテキストの操作 への移動

編集コントロール内のテキストの場合、テキストをクリップボードに送るには、まずそのテキストを選択する必要があります。編集コンポーネントには、選択されたテキストを強調表示する機能が組み込まれています。ユーザーがテキストを選択すると、そのテキストが強調表示されます。

選択されたテキストの処理によく使用されるプロパティの一覧を次の表に示します。

プロパティ 説明
SelText コンポーネントで選択されたテキストを表す文字列が格納されます。
SelLength 選択された文字列の長さが格納されます。
SelStart 文字列の開始位置(編集コントロールのテキスト バッファの先頭を基準とする相対位置)が格納されます。

たとえば、以下の OnFind イベント ハンドラでは、検索ダイアログ コンポーネントの FindText プロパティで指定されているテキストをメモ コンポーネント内で検索します。テキストが見つかった場合は、Memo1 内での最初の出現箇所が選択されます。

procedure TForm1.FindDialog1Find(Sender: TObject);
var
  I, J, PosReturn, SkipChars: Integer;
begin
  for I := 0 to Memo1.Lines.Count do
  begin
    PosReturn := Pos(FindDialog1.FindText, Memo1.Lines[I]);
    if PosReturn <> 0 then { 見つかった! }
    begin
      SkipChars := 0;
      for J := 0 to I - 1 do
        SkipChars := SkipChars + Length(Memo1.Lines[J]);
      SkipChars := SkipChars + (I * 2);
      SkipChars := SkipChars + PosReturn - 1;
      Memo1.SetFocus;
      Memo1.SelStart := SkipChars;
      Memo1.SelLength := Length(FindDialog1.FindText);
      Break;
    end;
  end;
end;

関連項目