如何在Win32中向富编辑控件插入文本,同时保留任何以前的格式

时间:2011-06-07 15:17:36

标签: c++

我正在win32中开发聊天应用程序。目前我正在为丰富的编辑控件文本动态分配内存,添加新行并使用SetWindowText设置新文本。

当消息到达并带有特定关键字时,应用会为该行着色并将其附加到聊天窗口。一切安好。收到下一条消息时出现问题 - 以前的格式丢失了!

如何解决这个问题?

1 个答案:

答案 0 :(得分:5)

好的,我已经解决了。我正在用未经过格式化的版本替换文本。以下是将文本正确附加到富编辑控件的方法:

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);
相关问题