Text markieren

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Mit Steuerelementen arbeiten - Index

Bevor Text aus Eingabefeldern in die Zwischenablage kopiert werden kann, muss er markiert werden. Eingabefelder heben markierten Text automatisch hervor. Text, den der Benutzer markiert, wird hervorgehoben angezeigt.

Die folgende Tabelle enthält die Eigenschaften, die zum Bearbeiten markierter Textblöcke verwendet werden können.


Eigenschaft Beschreibung
SelText

Ein String mit dem in der Komponente markierten Text.

SelLength Die Länge des markierten Textes.
SelStart Der Beginn der Markierung in Relation zum Anfang des Eingabefeldtextpuffers.

Die folgende OnFind-Ereignisbehandlungsroutine durchsucht beispielsweise eine Memokomponente nach dem Text, der durch die Eigenschaft FindText einer FindDialog-Komponente (die ein Dialogfeld Suchen repräsentiert) angegeben wird. Sofern vorhanden, wird das erste Vorkommen des Textes in der Komponente Memo1 markiert.

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 { found! }
    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;

Siehe auch