我正在 win32 中开发聊天应用程序。目前我正在为丰富的编辑控件文本动态分配内存,追加新行并使用 SetWindowText 设置新文本。
当带有特定关键字的消息到达时,应用程序会为该行着色并将其附加到聊天窗口。一切安好。收到下一条消息时会出现问题 - 之前的任何格式都会丢失!
如何解决这个问题?
最佳答案
好的,我已经解决了。 Apearantly 我正在用它的未格式化版本替换文本。以下是将文本正确附加到 Rich Edit 控件的方法:
CHARRANGE cr;
cr.cpMin = -1;
cr.cpMax = -1;
// hwnd = rich edit hwnd
SendMessage(hwnd, EM_EXSETSEL, 0, (LPARAM)&cr);
SendMessage(hwnd, EM_REPLACESEL, 0, (LPARAM)stringtoappend);
关于c++ - 如何在保留任何以前的格式的同时将文本插入 Win32 中的 Rich Edit 控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6267477/