解决TRichView_v1911控件出现乱码的方法

解决TRichView_v1911控件出现乱码的方法:
TRichView_v1911是很不错的副文本编辑控件,但是它对中文的支持很差,其中如果文件保存为RTF格式的文档后,再读取时,换行的时候就很可能出现乱码,从Word文档中拷贝过来的文档也会出现乱码。本人经过大量的摸索,发现控件对RVF格式支持的很不错,只要设置TRichViewEdit对应的style 属性的Unicode=true就支持中文。要解决通过剪贴板拷贝过来的Word文档不出现乱码,我才用了下面的的方式实现:
窗体上放置两个TRichViewEdit 控件rve和rve2,两个TRVStyle控件rvs和rvs2,其中设置如下属性:
   rve的style为rvs,
 rve2的style为rvs2
 rve2的visible属性为false
现在我要完成的功能是将从word文档中复制的文档拷贝到rve中而不出现乱码,方法如下:
procedure TF_TextEditor.actPasteExecute(Sender: TObject);
var
  i:Integer;
begin
        rve2.Clear;
        rve2.Paste;
        rve2.Format;
        for i:=0 to rvs2.TextStyles.Count-1  do
          begin
          rvs2.TextStyles[i].Standard := True;
          rvs2.TextStyles[i].Charset:=GB2312_CHARSET;
          rvs2.TextStyles[i].Unicode:=True;
          end;
        rve2.SelectAll ;
        rve2.CopyRVF;
        rve.PasteRVF;

  for i:=0 to rvs.TextStyles.Count-1  do
    begin
      rvs.TextStyles[i].Standard := True;
      rvs.TextStyles[i].Charset:=GB2312_CHARSET;
      rvs.TextStyles[i].Unicode:=True;
    end;
end;
此段程序可以放置在一个按钮事件中进行处理。
程序其实很简单,就是先将复制的内容放到rve2中(过渡),在rve2种将其对应的rvs2的每个的每个TextStyles的unicode属性设置为true。然后选中rve2中的内容,并以RVF的格式复制。最后把复制的RVF格式的内容粘贴到rve中即可,同时设定rve对应得rvs的每个TextStyless的unicode属性设置为true。 这时你会发现rve中的内容在换行时就不是乱码了。这就是曲线救国哈。 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值