如何在将一个RichEdit中的内容插入另一个RichEdit控件(保留格式)?(100分)

  • 主题发起人 主题发起人 Orchid2000
  • 开始时间 开始时间
O

Orchid2000

Unregistered / Unconfirmed
GUEST, unregistred user!
请问如何在将一个RichEdit中的内容插入另一个RichEdit控件(保留格式)?
现在有两个RichEdit控件。一个作为缓冲区,一个作为显示。为了提高显示速度,所以
首先根据程序的要求在缓冲区中格式化文本(改变字体、颜色等等),然后将这些已经
输入的文本(包含格式信息)添加到前台显示用的RichEdit控件的后面。
请问如何解决这个问题?我试了各种方法没有解决格式的问题。每次都丢失了格式。
 
RichEdit1.PlainText:=true试试
假设RichEdit1为缓冲,RichEdit2为显示
代码:
tmp:TStream;
RichEdit1.PlainText:=true;
RichEdit1.lines.SaveToStream(tmp);
RichEdit2.PlainText:=true;
RichEdit2.lines.LoadFormStream(tmp);
 
呵呵,easy
先select,然后
RichEdit1.CopyToClipboard;
RichEdit2.PasteFromClipboard;
 
这100分我一定要拿到手,前面的例子有误,下面是正确代码,已调试通过
TMemoryStream* tmp = new TMemoryStream();
RichEdit1->Lines->SaveToStream(tmp);
tmp->Position=0;
RichEdit2->Lines->LoadFromStream(tmp);
delete tmp;
<font color=ff0000 size=12>delphi例子:</font>
var
tmp TMemoryStream ;
begin
tmp:=TMemoryStream.create(this);
RichEdit1.Lines.SaveToStream(tmp);
tmp.Position:=0;
RichEdit2.Lines.LoadFromStream(tmp);
tmp.free();
end;
 
BCB?
呵呵,你的例子只能全部调入,但作为缓冲区,他要求一定应该是部分的。
 
补充:RichEdit1.PlainText:=false,应为false不应为true
 
menxin说的对,我只是想将缓冲RichEdit中的内容添加到前面显示的控件中。
现在给出的方法都只能将缓冲控件中的内容替换显示控件的内容。
还有没有更好的方法?多谢,多谢!
 
Orchid2000:如果还想接着讨论请定期提前自己的帖子,如果不想继续讨论请结束帖子。
 
多人接受答案了。
 
后退
顶部