![]() |
RichEdit Während Eingabe überprüfen
Hallo,
ich habe eine ziemliche Anfängerfrage, vermute ich: In ein RichEdit wird vom User Text eingegeben, der direkt bei Eingabe (also OnChange-Ereignis) auf verschiedene Zeichen überprüft werden soll. Beispiel: Der User gibt "**Überschrift**" ein und nach der Eingabe dieser Zeichenkette verschwinden die "**" und der Text wird fett gedruckt und unterstrichen ("*Text*" -> nur fett usw..). Meine Frage ist, wie das Ganze performativ am besten funktioniert? Ich bin nur bis zu einer Volltextsuche im OnChange-Ereignis gekommen und kann mir natürlich vorstellen, wie umständlich und langwierig das bei langen Texten ist. Also, wie kann ich nur das letzte, eingegebene Wort auf diese Zeichen untersuchen und nicht das gesamte RichEdit? Beste Grüße, Franz |
AW: RichEdit Während Eingabe überprüfen
Du kannst die aktuelle Lines Zeile untersuchen.
Bevor du nachhackst, hier zwei Funktionen:
Delphi-Quellcode:
Die erste gibt dir die aktuelle Zeile, die zweite die Position des Cursors in der Zeile.
function CurLine(Memo: TCustomMemo): Longint;
begin with Memo do Result := SendMessage(Handle, EM_LINEFROMCHAR, SelStart, 0); end; function CurCol(Memo: TCustomMemo): Longint; begin with Memo do Result := SelStart - SendMessage(Handle, EM_LINEINDEX, CurLine(Memo), 0); end; |
AW: RichEdit Während Eingabe überprüfen
Danke, das bringt mich sehr viel weiter!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:06 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