Die Tatsache, daß die URLs ja irgendwo anders gespeichert werden müssen, wenn sie nicht mehr im Klartext in der Stringliste
Lines auftauchen dürfen, wirft die Frage nach dem Wo auf. Die Antwort lautet daher: Du mußt dir eine eigene RichEdit-Komponente ableiten und diese um die gewünschte Funktion ergänzen.
Die Frage nach dem Wie erfordert allerdings komplexere Überlegungen. Führst du ein weiteres Steuerzeichen ein, um Beginn und Ende einer
URL zu kennzeichnen, machst du dir's einfach. Du nummerierst die URLs durch und verweist mit diesm Index auf einen internen Record, der die URLs enthält. Dazu mußt du dann aber auch mindestens eine InputBox spendieren, damit der Anwender die
URL dort eingeben kann. Zusätzlich wäre wie in Word oder in
HTML-Browsern ein Hint sinnvoll, der die verborgene
URL anzeigt. So oder ähnlich würde ich die Sache anzupacken versuchen.
Die Sache mit dem zusätzlichen Steuerzeichen hat nur einen Haken: Die damit bearbeiteten Texte sind nicht mehr kompatibel mit der
RTF-Spezifikation und werden wohl beim Versuch, sie in normale Richedits einzulesen, Fehler oder Fehldarstellungen erzeugen. Damit wären wir bei der zweiten Möglichkeit: ein dynamisches RichEdit, das selbst ständig kontrolliert, ob im angezeigten Bereich eine Zeichenfolge existiert, die als
URL gekennzeichnet wurde. Das ist zwar komplexer, kommt aber letztendlich ohne weiteres Steuerzeichen aus und bleibt somit kompatibel. Der
URL-Record, der bei der Wahl dieser Möglichkeit verwaltet werden muß, benötigt Beginn- und Endwerte, um die als
URL gekennzeichnete Zeichenfolge ermitteln zu können. Beim Einfügen von weiterem Text vor diesen
URL-Strings muß immer gleich angepaßt werden, also im Prinzip bei jedem Tastendruck, er ein Zeichen einfügt oder löscht.