RichEdit高亮字的问题。(200分)

  • 主题发起人 主题发起人 hedadt
  • 开始时间 开始时间
H

hedadt

Unregistered / Unconfirmed
GUEST, unregistred user!
我要实现在RichEdit中,根据我输入的关键词,自动将RichEdit中包含此字符的进行高亮,
注:(关键字包括汉字),如何做。最好不要对全文进行匹配,因为内容较多,如果从头到尾进行比较做Selstart,sellength,在改变选中内容的颜色,效率很低!
请大家给予指教。
 
急盼回答。
 
如果关键词比较少,可以先确定当前显示出来的部分,然后搜索关键词并将其高亮
 
RichEdit.Find(Key)
感觉似乎没有太好的方法。
 
只能做逐一匹配,没有好的方法
 
只能做逐一匹配,
 
delphi自带的RichEdit问题太多,findtext无法准确定位汉字,且有汉字乱码,就会出现"line insertion error"的异常。现在我的解决办法是用RichEdit2.0A,现在基本问题算暂时解决了,至于高亮,我用的是finddialog中的查找方法,这种查找方式查找速度还快些,如果findtext则速度很慢,当插入1000行以上,查找速度几乎慢的很明显。故考虑,继承RichEdit2.0A,通过重载onDraw事件,将当前屏幕上的符合条件的字高亮,目前处理中,希望有相关经验的人能够多交流一下。
 
有几个这种控件的,找找吧,fastreport就自带一个
 
后退
顶部