如何向RichEdit追加带有格式的内容?

proton 2007-03-10 09:51:17
类似QQ聊天窗口、

我下面的一个richedit1,写入一些格式内容,例如前两个字加粗,后五个字红色,我想把这一行内容追加到上门的一个richedit2中


RichEdit2->Lines->Add(RichEdit1->Lines->Text); //这样写入只有文本,没有格式了,怎么做?请指教!
...全文
284 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangru 2008-03-04
  • 打赏
  • 举报
回复
我做过的项目中有个仿QQ的对话框模块,其中就有相关代码,拿来给楼主救救急
TRichText控件名为REHistory
RESend为输入区控件名

//发送
REHistory->SelAttributes->Color=clGreen;
REHistory->Lines->Add(UserName+"("+(Now()).FormatString("yyyy-mm-dd hh:mm:ss")+")");//显示发送方名字
REHistory->SelAttributes->Color=clBlack;
REHistory->Lines->Add(" "+Trim(RESend->Text));//显示发送内容
SendMessage(REHistory->Handle, EM_SCROLLCARET, 0, 0);//显示光标所在位置
...
//接收
REHistory->SelAttributes->Color=clGreen;
REHistory->Lines->Add(sStation +" "+sName+"("+(Now()).FormatString("yyyy-mm-dd hh:mm:ss")+")");//显示对方名字
REHistory->SelAttributes->Color=clBlue;
REHistory->Lines->Add(" "+sContent);//显示接收内容
SendMessage(REHistory->Handle, EM_SCROLLCARET, 0, 0);//显示光标所在位置


其实关键是在添加内容前使用SelAttributes->Color来改变颜色和字体等
Lixinag 2008-03-04
  • 打赏
  • 举报
回复
顶下……
tgzhang 2008-03-04
  • 打赏
  • 举报
回复
RICHEdit中可否添加表格?
ydlchina 2008-03-04
  • 打赏
  • 举报
回复
我还以为看错了10号的帖子,快一年了
小笨象 2008-01-29
  • 打赏
  • 举报
回复
补充一下:

TRichStreamModes set;
set<<smSelection;
小笨象 2008-01-29
  • 打赏
  • 举报
回复
同意楼上的。

//NewStyleStream是Stream,里面是RTF格式的文本(即带格式的内容)

//通Stream来中转。
DBRichEdit1->Lines->BeginUpdate();
NewStyleStream->Position = 0;
DBRichEdit1->StreamMode = set;
DBRichEdit1->Lines->LoadFromStream(NewStyleStream);
set>>smSelection;
DBRichEdit1->StreamMode = set;
DBRichEdit1->Lines->EndUpdate();
我不懂电脑 2008-01-29
  • 打赏
  • 举报
回复
简单的把输入保存为rtf格式然后加载。
laowang2 2008-01-29
  • 打赏
  • 举报
回复
1、剪贴板可以带格式。
2、richedit1中的格式怎么写,RichEdit2也怎么写。复制一下,改一下名字就可以。
gyj_china 2008-01-25
  • 打赏
  • 举报
回复
TRichEdit是RTF文件格式,你这样加是不能追加的,但可以通过这种方法写入,再用程序设置格式.
proton 2007-03-11
  • 打赏
  • 举报
回复
up

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧