So ein Blödsinn - fritzi* will ja das Wort unter dem Cursor. Das geht recht einfach, da beim Ereignis OnMouseDown() das Caret schon versetzt ist:
Delphi-Quellcode:
function CurrentWord(ce: TCustomEdit):
string;
const
WordChars = '
ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜ'
+ '
abcdefghijklmnopqrstuvwxyzäöüß';
var
i, iStart: integer;
s:
string;
begin
s := ce.Text;
iStart := ce.SelStart;
while (iStart > 0)
and (Pos(s[iStart], WordChars) > 0)
do
Dec(iStart);
i := ce.SelStart;
while (Succ(i) < Length(s))
and (Pos(s[Succ(i)], WordChars) > 0)
do
Inc(i);
Result := Copy(s, Succ(iStart), i - iStart);
end;
marabu