wieder mal eine Frage zu TRichMemo. Dort gibt es eine Funktion "CharAtPos(x,y)". Die liefert einen Integer-Wert zurück.
Code: Alles auswählen
i := RichMemo1.CharAtPos(rmEditor.CaretPos.x,rmEditor.CaretPos.y);
Da kommt auch eine Zahl zurück. Die sieht auch nicht unplausiebel aus. Wenn ich die aber nutze, um das Zeichen unter dem Cursor zu identifizieren, bekomme ich das falsche Ergebnis:
Ich habe es wie folgt probiert:
Code: Alles auswählen
i := RichMemo1.CharAtPos(rmEditor.CaretPos.x,rmEditor.CaretPos.y);
s := RichMemo1.Rtf[i];
s := RichMemo1.Lines[i];
s := RichMemo1.Text[i];
s := RichMemo1.Caption[i];
Der Hintergrund für mein Problem ist: Mit einem Doppelklick auf dem Zeichen will ich das ganze Wort markieren.
Ich weis, dass dies eine Standardfunktion im Editor ist. Allerdings will ich die Worterkennung selbst steuern, da der Standard mir das falsche Ergenis liefert.
Hängt mit der Art des Textes zusammen. Das setzt aber voraus, dass ich das Zeichen erstmal habe, dass ich anklicke.
Was mache ich falsch?
LG Ronny58