Du könntest beim TRichedit.OnChange die aktuelle Zeile (zu bekommen pber
CaretPos.Y) holen und dir das Wort bei CaretPos.X kopieren. Vielleicht so:
Delphi-Quellcode:
procedure TForm1.Richedit1Change(Sender: TObject);
var
Line, Word: string;
i, t: integer;
Delimiters: set of Char;
begin
Delimiters := [' ', ';', ',', '.', '-']; //Viel mehr Möglichkeiten..
Line := Richedit1.Lines[Richedit1.CaretPos.Y-1];
for i := Richedit1.CaretPos.X downto 1 do
if Line[i] in Delimiters then Break;
for t := Richedit1.CaretPos.X to Length(Line) do
if Line[i] in Delimiters then Break;
Word := Copy(Line, i, t-i);
end;