mindrayguowei 发表于 2015-9-15 13:55:00

如何复制带格式的文本内容?

TextControl控件中需要加载一部分现有的rtf格式文本中的内容,是部分内容,所以不能直接加载rtf文件。我的一个想法是用ServerTextControl加载这个rtf文本,然后选择需要复制的文本,粘贴到现有的TextControl控件里。
但是似乎ServerTextControl没有复制方法,也不带文本格式,把一个带文本格式的rtf文件加载进ServerTextControl控件之后,调试发现Selection.ForeColor变默认值了。
TextControl有Copy和Paste方法。但是不能另外再添加一个TextControl控件。请问我要怎么做才能实现这个功能?

iceman 发表于 2015-9-15 17:07:00

回复 1楼mindrayguowei的帖子

问题已经查收,我正在和厂商讨论这个 case 的实现方法,有进一步问题反馈给你。

iceman 发表于 2015-9-16 14:57:00

回复 1楼mindrayguowei的帖子

可以通过 ServerTextControl 加载 rtf 文件,再选择目标文本,通过 Selection.Save保存后加载到 tx 中。代码如下:

            TXTextControl.ServerTextControl svt1 = new TXTextControl.ServerTextControl();
            svt1.Create();
            svt1.Load("..\\..\\Test.rtf", TXTextControl.StreamType.RichTextFormat);
            svt1.Select(0, 4);
            svt1.Selection.Save("..\\..\\1.rtf", TXTextControl.StreamType.RichTextFormat);

            textControl1.Load("..\\..\\1.rtf", TXTextControl.StreamType.RichTextFormat);


demo请参考附件:

mindrayguowei 发表于 2015-9-17 08:33:00

这个不对,我是要复制一个已有文本文件中的部分内容到TextControl,复制的时候TextControl的内容还没有保存,保存这个动作是需要用户手工触发的。

iceman 发表于 2015-9-17 13:49:00

回复 4楼mindrayguowei的帖子

请问您指的是这行代码进行保存吧?
svt1.Selection.Save("..\\..\\1.rtf", TXTextControl.StreamType.RichTextFormat);

这里仅仅是已保存到本地的 rtf 为例进行展示,如果不需要保存到物理文件,也可以使用其它Save重载,例如:
Save(Byte[], BinaryStreamType)

临时保存在字节流中,再通过 textControl 加载。

mindrayguowei 发表于 2015-9-23 15:06:00

我再描述一遍我的需求:
1.TextControl已经正常加载了一个rtf文件
2. 需要通过一个button click事件把另外一个rtf文件中的一部分文件复制到当前的TextControl的rtf文件中。

保存到一个字节流之后,怎么样再加载到TextControl里面?不会覆盖已经加载的rtf文件内容吗?

iceman 发表于 2015-9-23 18:04:00

回复 6楼mindrayguowei的帖子

通过 this.textControl1.Selection.Load 方法加载,加载位置可以通过 Selection 任意选择。

iceman 发表于 2015-10-20 09:23:00

回复 1楼mindrayguowei的帖子


为了给你提供更优质的服务,请对本次服务进行评分。我们会认真对待你提出的宝贵意见,谢谢
http://gcdn.gcpowertools.com.cn/attachment.aspx?attachmentid=10062
页: [1]
查看完整版本: 如何复制带格式的文本内容?