Einzelnen Beitrag anzeigen

Perlsau
(Gast)

n/a Beiträge
 
#2

AW: RichEdit mit eigenen Urls

  Alt 1. Okt 2015, 00:51
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.
  Mit Zitat antworten Zitat