【问题标题】:How to insert text to rich edit control in Win32 while preserving any previous formatting如何在 Win32 中将文本插入富编辑控件,同时保留任何以前的格式
【发布时间】:2011-06-07 15:17:36
【问题描述】:

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

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

如何解决这个问题?

【问题讨论】:

  • 你能贴出不起作用的代码吗?不看你在做什么,很难判断你可能做错了什么。
  • pastebin.com/q1wbuY75 将文本插入富编辑,但这部分代码在通过套接字到达时格式化消息pastebin.com/BKSNu7FF

标签: c++


【解决方案1】:

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

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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-10
    • 1970-01-01
    • 2010-12-21
    相关资源
    最近更新 更多