Hallo!
Wie kann ich in einem RichEdit ermitteln, ob der Text, auf dem der Mauszeiger liegt, unterstrichen ist? Ich stelle mir das so vor: ermittle ausgehend von CaretPos.X nach links, wo das 1. unterstrichene Zeichen beginnt, beginne ab dieser Stelle dann nach rechts zu prüfen, ob die Zeichen fsUnderLine in SelAttributs.Style haben, wenn ja, hänge sie an eine Stringvariable, brich beim ersten nicht unterstrichenen Zeichen ab.
Soweit die Theorie - aber wie setze ich das in die Praxis um?
Ich habe eine Funktion - ScanString - die die Zeile bzw. das Wort, auf dem der Mauszeiger liegt, ermittelt. Trotzdem komme ich nicht zurecht. In meinem RichEdit1 folgt das Caret dem Mauszeiger, und so, wie es jetzt funktioniert, werden zwar alle unterstrichenen Zeichen korrekt ermittelt, aber aus ABCdefGHI wird ABCGHI und nicht ABC oder GHI - je nachdem , wo der Mauszeiger liegt.
Zur Erklärung: Unterstrichener Text, mit oder ohne Leerzeichen, soll einen Hyperlink darstellen, den ich auslesen will, um so an die unterstrichenen Zeichen zu kommen.
Die Lösung, dass pro Zeile nur 1 Hyperlink (= das einmalige Vorkommen unterstrichenen Textes) zulässig ist, ist nicht wirklich zufriedenstellend!
Kann mir jemand einen Tipp geben?
_________________
gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!