![]() |
TRichEdit - Mehrere Wörter markieren
Moin,
mittels
Delphi-Quellcode:
markiere ich ein Wort in einem RichEdit.
RichEdit1.SetFocus;
RichEdit1.SelStart := RichEdit1.FindText(Suchwort,0,length(RichEdit1.Text),[stMatchCase]); RichEdit1.SelLength := length(Suchwort); Ich möchte aber mehrere Wörter markieren, sprich habe ich einen Text wie "Das ist ein Test" soll "Das" und "Test" markiert werden. Wie ist dies möglich? Danke und lg |
AW: TRichEdit - Mehrere Wörter markieren
Diese Selection kenn nur ein Start und ein Ende.
Eine andere Möglichkeit wäre die Hintergünde der Wörte jeweils zu färben. |
AW: TRichEdit - Mehrere Wörter markieren
Hm danke, das hatte ich schon befürchtet.
|
AW: TRichEdit - Mehrere Wörter markieren
Im Endeffekt ist das auch nicht so viel komplizierter: Die jeweiligen Stellen markieren und mit SelAttributes einfärben (nacheinander). Natürlich musst du das irgendwann wieder rückgängig machen.
Dass Wörter, die nicht unmittelbar aufeinander folgen, parallel markiert werden können, wäre für mich auch nicht sinnvoll, da es kein Standardverhalten ist. Die erste Frage wäre für mich schon, was passiert, wenn man Strg+C, Entf o.ä. drückt. ;) |
AW: TRichEdit - Mehrere Wörter markieren
Hmm ich habe mal was ähnliches gebaut. (Syntax Highlighter)
Ich habe auch die Selections eingefärbt und mir die Positionen der Strings in einer StringList gemerkt, sodass ich sie später wieder zurückfärben konnte. |
AW: TRichEdit - Mehrere Wörter markieren
Wenn nicht unterschiedliche Markierungen verwendet werden (also entweder sind welche da oder nicht), könnte man auch den kompletten Text markieren und die Hintergrundfarbe zurücksetzen. Ich weiß jedoch nicht, ob das dann unschön "flackert".
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:14 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz