I am using a CRichEditCtrl as sort of a chat window. Text is appended to the bottom of the control as it comes in from the server. If the user highlights some of the text, and then more text is appended to the bottom, it will remove the highlighting from the aforementioned text, since I am appending it using the CRichEditCtrl SetSel() and ReplaceSel() functions. I suppose I could remember and restore any highlights upon writing text to the end of the control, but I am curious if there's a better way around this. Either better way to save such selections, or even a different way to append text than using ReplaceSel(). Thanks for any ideas.