1.应该在OnChange中编码实现
2.自己从内容中去查找,好像效率太低了吧?
2.自己从内容中去查找,好像效率太低了吧?
解决方案 »
- 关于Label的canvas属性的问题
- 请教,关于IE的另存为
- 初学者问个很傻的问题:请问在delphi中怎么增加属性、函数、过程的首尾。是由IDE自动加入还是人工编写的
- 是不是在DataGrid 的DrawColumnCell事件中控制了它的颜色,当选中某行的时候就不能实现选中行的反显效果了?
- 如何实现数据从一个数据库服务器搬移到另一个数据库服务器?
- 初学者的问题,怎样打开Delphi中的工程文件.bpr?
- 用Delphi实现MSN Messager的界面效果
- 在远程数据模块中只能有一个datasetprovider?
- 一个关于TStringList操作的简单问题
- 痛何如哉???!!!
- 请问:在delphi中调用word,怎样在word中的表格中移动,如前移单元格,后移单元格?
- 一个窗口怎么动态显示n多个表?谢谢,100分
其次,是如何判断关键字的输入,我想这个才是最难的,要么就在onchange事件中监测输入,但是速度和效率会很低。
第三,标红的做法使用selattribute属性的color就行了。
一个思路:在OnClick中检查,如果输入的是空格或回车等,就马上return,若不是,再识别。
这种方法效率不会很底。
我觉得你这样判断是不行的,如果在关键字前后或中间又加了一个字母了呢?这样是不是没有判别到?
我觉得你这样判断是不行的,如果在关键字前后或中间又加了一个字母了呢?这样是不是没有判别到?
其实自己做也可以,用户输入的时候,只要进行“当前行”扫描就可以了啊!这样能够提高效率。当然,你还要注意用户用Ctrl+C,Ctrl+V的时候也要扫描Paste进来的文字。
function GetTokenAtCursor:string;
begin
i:=RichEdit.SelStart;
while RichEdit.Text[i]<>' ' do dec(i);
Return chars between RichEdit.Text[i+1] and RichEdit.Text[SelStart];
end;if GetTokenAtCursor is AToken then
SetColor(Red);