EIN Zeichen in RichEditView/Ctrl färben
-
Soweit ich gesehen habe, gibt es nur die Möglichkeit das aktuelle Wort zu färben oder den markierten Text...
Der einzige Weg,den ich sehe, besteht darin den Buchstaben mit einer versteckten Markierung auszuwählen und dann zu färben, aber das ist wohl nicht grad die eleganteste Lösung.
Kennt jemand eine Alternative?
MfG PMrogan
-
aber das ist wohl nicht grad die eleganteste Lösung
Wenn nix markiert wäre, woher sollte das RichEdit wissen, was es färben soll? Also welche Lösung sollte es denn noch geben?
-
es soll ja nicht vom nutzer 'gefärbt' werden, sondern syntax highlighting sein.
Und wenn der ganze Text durchgegangen wird und ständig der nächste buchstabe(-> BrainF***) 'markiert' werden muss, is das ja auch nich so toll.
Kann man irgendwie den Index des zuletzt eingegebenen Zeichens auslesen?
(Der Linien-Index würde auch reichen...)MfG PMrogan
[ Dieser Beitrag wurde am 09.04.2003 um 21:23 Uhr von PMrogan editiert. ]
-
Es wird aber trotzdem so gemacht!
Ich arbeite selbst gerade an einem CScriptCtrl, dass von CRichEditCtrl abgeleitet ist. Für das Syntax-Highlighting und die Abfrage, was sich wo wie geändert hat, muss man ein bischen mit OnChange() oder OnUpdate(), OnSelChange(), ... beschäftigen. Darüber lässt sich dann feststellen, ob Text eingefügt, entfernt oder ersetzt wurde.
Aus eigener Erfahrung empfehle ich, das Syntax-Highlighting immer nur für die aktuelle Änderung (je nachdem auch ein bischen darüber hinaus) durchzuführen. Jedesmal alles zu formatieren, kann bei großen Dateien schnell zur Dia-Show bei der Eingabe werden.