expertenaustausch > microsoft.* > microsoft.german.entwickler.dotnet.vc

Diana (05.03.2010, 16:50)
Hallo,

hab ein Problem mit dem ich nicht wirklich weiter komme.
Bearbeite gerade eine Texteditor-SW die 2 Farbig markierte Texte handhaben
kann (oben schwarz (S) daran anschliessend rot (R)). Dabei kann der Editor
leer sein nur S, S und R oder nur R enthalten. R wird über einen Range
verwaltet. Wird R gelöscht und später ein neuer R Range definiert, kann es
sein, dass einzelne neu eingegebene Zeichen trotzdem in S erscheinen, was
nicht passiert, wenn man vor der Eingabe den Cursor bewegt, was allerdings
auch dann scheitert, wenn man die Farbe umstellt aber noch kein Zeichen
eingegeben ist (keine Curosr Bewegung möglich). Das scheint mir eine Macke
von RichEdit 2.0 Control zu sein. Gibt es dafür einen Workarround?

Gruß

Diana
Diana (12.03.2010, 17:01)
Es handelt sich übrigens doch schon um die Version 3.0 und die hat Bugs ohne
Ende.

Vielleicht kann mir einer damit weiter helfen:

Wenn man mit SetWindowText einen neuen Text einträgt, der mehr Leerzeilen
enthält wie vorher, dann funktioniert unmittelbar danach die LineIndex
Methode nicht. In den neu hinzugekommenen leeren Zeilen weden die Endezeichen
doppelt gezählt.
Das sieht irgendwie danach aus, als wenn die neuen Leeren Zeilen durch
SetWindowText mit CRLF eingetragen werden und später das LF wieder
rausgenommen wird. Hinten hängt normalerweise nur ein CR an.

Kann mir einer sagen, wie ich die interne Textverwaltung vom RichEdit
triggern kann, dass die den Text passend im Speicher hält?

Gruß

Diana
Ähnliche Themen