RTF Control

Ich schreibe zurzeit an einem parser. als „goldenes hänkelchen“ wollte ich gerne das direkt bei der eingabe in die rtfbox diverse schlüsselwörter erkannt und farblich hervorgehoben werden. bin jedoch kläglich an diesem versuch gescheitert :wink: wer kann mir dafür ein paar tips geben?

danke kai

hi kai,
tips kann ich dir keine geben, da ich mich mit rtf noch nicht beschäftigt habe. diese seite wird dir weiterhelfen (viel API)

http://www.vbaccelerator.com/codelib/richedit/redout…

viel spaß, volker

Der Clou daran ist, daß Du die RTFText-Property auslesen mußt und nicht die Text, denn diese enthält den RTF-Source (welcher aber leicht zu verstehen und nachzubilden ist). Ein highlighting zu bauen ist gar nicht so schwer. Falls Du aber SQL highlighten willst, solltest Du das ActiveX-Control des SQL-Servers nehmen.
Alles andere mußt Du nachbauen.

Also, im Event RTFText1_Change suchst Du mit der Funktion InStrRev()-Funktion ein hervorzuhebendes Wort raus. Mit den Properties SelStart und SelLength „markierst“ Du das Wort und mit der Font-Property änderst Du das Format.
Gefinkelter wird’s da schon bei Löschung oder Einfügung von Text. Da mußt Du den gesamten Bereich durchsuchen.

LG, Stefan.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi Stefan!

Die Idee ist zwar gut, aber hat da so ein Problem…

Wenn du zwei-drei seiten code hast, den du „Highlighten“ willst, dauert das ewig lange! Ich habs ausprobiert, für einen HTML-Editor, und das hat zu lange gedauert, ich habs verworfen.
Man müsste das ganze im Hintergrund durchsuchen, OK, das get, aber das auch im Hintergrund einfärben geht nicht, nichtmal mit Do Events, denn dann kann man trotzdem während dem einfärben nix tippen!

hast DU da ne Idee? Evtl. API oder so?

Grüüße
Florian