捐赠 | 广告 | 注册 | 发布 | 上传 | 关于我们    
  沪ICP备05001939号 DELPHI盒子 | 盒子论坛 | 盒子文章 | 盒子问答悬赏 | 最新更新 | 论坛检索 | 下载中心 | 高级搜索    
  精品专区 | 繁體中文 | 奖励公告栏 | 直通车账号登陆 | 关闭GOOGLE广告 | 临时留言    
 
广告
评论:让 Richview 支持中文
banyuexing 41576 2011/5/19 18:09:18
richview专题讨论QQ群151805483  欢迎加入
applebomb 37335 2009/4/27 0:46:33
xieyunc:
既然你设置了RichView以unicode工作,那么你所有的文本操作都应该是W系列的,就不乱码了。例如:
RichViewEdit1.InsertTextW(WideString('你好'#13'中国'));
bjnetbee 35923 2008/10/26 23:22:31
设置 STYLE 的 TEXTSTYLES 
给具体某个风格 设置 UNICODE 为 TRUE 
然后设置 字符集(CHARSET) 为 ANSI_CHARSET 就可以很好地支持 输入和显示中文了
qiu888 31403 2007/10/11 20:44:23
    其实我的这些设置主要是为了导入Word文档用的,我试了许多文档的导入到现在还没发现乱码的情况,所以就发表出来给大家研究,其他的特殊情况,由于本人水平有限,没有试验到。
xieyunc 31402 2007/10/11 18:18:02
to qiu888,
如果 将 ⑵ RVStyle 的Unicode属性全部改为:False;
那Unicode就没有意义了,更何况如果真这样设置的话,又回到了用鼠标Select时会出现选择了半个汉字导致乱码问题。
qiu888 31306 2007/9/28 17:47:53
谢谢 xieyunc,

那就将 ⑵ 设置RVStyle:

  双击该控件,在弹出的窗体里选定里面5个子项,然后在属性窗体里找到
Unicode属性,全部改为:False;
  试试……
xieyunc 31295 2007/9/27 16:19:33
to qiu888:
如果按上楼设置,试试下面的语句,结果:乱码!
...
RichView1.AddNL('中国China人民',0,-1);
RichView1.Format;
...
qiu888 30927 2007/8/20 12:25:47
一、我用的是RichView 1.9.11 Full Source版本,对中文支持非常好啊。具体设置如下:

⑴ 设置RichViewEdit下面的几个属性:
  ① TRVRTFReaderProperties → ParaStyleMode → rvrsAddIfNeeded
  ② TRVRTFReaderProperties → TextStyleMode → rvrsAddIfNeeded
  ③ TRVRTFReaderProperties → UnicodeMode → rvruOnlyUnicode
⑵ 设置RVStyle:
  双击该控件,在弹出的窗体里选定里面5个子项,然后在属性窗体里找到
Unicode属性,全部改为:True;

二、对于导入Word文档问题,我参考了其例子的原码,修改了一下,证实可行,但对于有图片的文档支持不是很好,容易造成死机,不知为何,具体的实行方法如下:
  ⑴ 在窗体里放下RichViewEdit1、RVStyle1、RVOfficeConverter1、OpenDialog1、四个控件和一个按钮控件,根据上面方法设置好相应属性。
  ⑵ 实行代码:

  ① procedure TForm1.FormCreate(Sender: TObject);//窗体创建时
begin
  opendialog1.Filter := RVOfficeConverter1.GetImportFilter;
end;
  
  ② procedure TForm1.Button1Click(Sender: TObject);//实现导入Word文档
var
  r: Boolean;
begin
  if not opendialog1.Execute then
    exit;
  RichViewEdit1.Clear;
  RichViewEdit1.Format;
  RichViewEdit1.Update;
  RichViewEdit1.Clear;
  if opendialog1.FilterIndex = 1 then
    r := RichViewEdit1.LoadRTF(opendialog1.FileName)
  else begin
    r := RVOfficeConverter1.ImportRV(opendialog1.FileName, RichViewEdit1, opendialog1.FilterIndex - 1);
  end;
  if not r then
    Application.MessageBox('错误', '导入时发生错误', 0);
  RichViewEdit1.Format;
  RichViewEdit1.SetFocus;
end;

  ③ 运行后,单击按钮,在打开对话框里的“文件类型”选择“Word97-2002”就可以顺利导入Word文档了,我试了很多次都正常,而且能够保持Word文档的格式。



hardnut 30905 2007/8/17 19:23:23
如果能将修改部分抽出来应用到当前的1.9.38
上就好了
pp55 30900 2007/8/17 11:27:15
to: hardnut
这个修改只是为了兼容部分中文输入法的全解标点符号的兼容问题,好像每个版本都有这个问题。

具体可看lichengbin的分析:
http://www.delphibbs.com/delphibbs/dispq.asp?LID=2893356
hardnut 30889 2007/8/16 21:44:52
2004-11-17 Modified by LiChengbin----------天啦,至少是2004年的版本了,与当前版本比较差异太大,而且当前的版本对unicode的支持也比较好也,建议慎用这个文件
第一页 上一页 下一页 最后页 有 11 条纪录 共1页 1 - 11
 用户名:
 密 码:
自动登陆(30天有效)
 
  DELPHI盒子版权所有 1999-2023 V4.01 粤ICP备10103342号-1 更新RSS列表