Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Im TRichEdit zum nächsten Absatz springen?


TheUnknown - Di 02.07.02 13:29
Titel: Im TRichEdit zum nächsten Absatz springen?
Moin!

Nehmen wir an, in einem RichEdit befindet sich zur Laufzeit ein Text mit mehreren Abschnitten/Absätzen. Jetzt soll der User die Möglichkeit haben zwischen diesen via Hotkey/Button zwischen diesen Absätzen hin- und herspringen zu können. Etwa so, wie man es mit Strg+CursorLeft und Strg+CursorRight machen kann, nur nicht mit ganzen Worten sondern eben mit ganzen Absätzen. Wie muss ich das machen? Ich krieg das einfach nicht hin...


TheUnknown - Do 04.07.02 16:57
Titel: ...
Hmmm... was denn wenigstens jemand, wo ich diese information finden könnte?


Tino - Do 04.07.02 17:13

Hi,

ich hab mal folgendes probiert: Eine RichEdit-Komponenten (Text mit mehreren Absätzen eingefügt) und einen Buttton. Das OnButtonClick-Event ist so:

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
Const
  CR = #13#10;

procedure TForm1.Button1Click(Sender: TObject);
Begin
  If Pos (
        CR + CR,
        Copy (RichEdit1.Lines.Text, RichEdit1.SelStart, Length (RichEdit1.Lines.Text))
      ) > 0
  Then
    RichEdit1.SelStart := RichEdit1.SelStart + Pos (
        CR + CR,
        Copy (RichEdit1.Lines.Text, RichEdit1.SelStart, Length (RichEdit1.Lines.Text))
      ) + Length (CR);

  RichEdit1.SetFocus;
end;

Sobald man auf den Button klickt wird der nächste Absatz angesprungen.

Gruß