018
06.04.2004, 22:46 Uhr
Philipp
|
Ok danke dass du dir es angeschaut hast, hatte allerdings in der Zwischenzeit was Klausurstress weswegen ich nicht weitermachen konnte...
Mittlerweile hab ich mir deinen Vorschlag mal angeschaut, und ich muss sagen dass es eigentlich alles klappt. D.h. sowohl die aktuell hinzugefügte Zeile als auch alle anderen Zeilen der RichEditCtrl. werden in den korrekten Farben gezeichnet. Hab halt wie du gesagt hast für jede Zeile in der RichEditCtrl einfach in nem array den Farbwert gespeichert. Bei jedem Aufruf von AddMessage in meinen Programm werden also ALLE Zeilen der Richeditctrl über das FarbArray mit der entsprechenden Farbe gefärbt, was halt auch generell funktioniert, aber :
Teilweise springt die Anzeige quasi um, dann verschwinden die Farben aufeinmal! Das passiert z.B., wenn ich ein neues Fenster für eine PrivateMessage öffnen lasse, wobei dieses Fenster eigentlich ein ganz normales nicht-modales Windows-Fenster ist. Wenn ich das öffne, dann ist wie gesagt der ganze Inhalt der RichEditCtrl wieder schwarz! Manchmal bleibt der Inhalt allerdings auch farbig, und wird erst schwarz wenn ich eine PrivateMessage absende, also auf den send-Button meines PrivateMessage-Fensters klicke... sehr seltsam. Das bleibt solange so, bis ich eine neue Message in diese RichEditCtrl per AddMessage wieder hinzufüge, bis also die ganzen Zeilen der RichEditCtrl wieder neu eingefärbt werden.
Ich weiß jetzt net womit das zusammenhängt, vielleicht mit der Zeichenfunktion der RichEditCtrl(wo finde ich die eigentlich??), oder mit dem Aufruf meines Fensters? Habt ihr/ hast du da eine Idee Flosoft?
SourceCode kann ich natürlich bei Bedarf zur Verfügung stellen...
P.S. Hab mittlerweile ne Klasse von CRichEditCtrl abgeleitet, und die mit der Funktion AddMessage und dem Array zur speicherung der Farbdaten ausgestattet... Kann also ohne Probleme Funktionen überschreiben etc. wenn das von Nöten sein sollte...
Philipp |