1.应该在OnChange中编码实现
2.自己从内容中去查找,好像效率太低了吧?

解决方案 »

  1.   

    要识别关键字,一定要建立一个关键字的列表,否则它没有判断的依据
    其次,是如何判断关键字的输入,我想这个才是最难的,要么就在onchange事件中监测输入,但是速度和效率会很低。
    第三,标红的做法使用selattribute属性的color就行了。
      

  2.   

    用RXLIB的控件,里面有一个RXRICHEDIT可以达到这个功能,但好象这个控件不支持BCB5
      

  3.   


    一个思路:在OnClick中检查,如果输入的是空格或回车等,就马上return,若不是,再识别。
             这种方法效率不会很底。
      

  4.   

    to bcboy(编程蜗牛) 
    我觉得你这样判断是不行的,如果在关键字前后或中间又加了一个字母了呢?这样是不是没有判别到?
      

  5.   

    to bcboy(编程蜗牛) 
    我觉得你这样判断是不行的,如果在关键字前后或中间又加了一个字母了呢?这样是不是没有判别到?
      

  6.   

    人家都已经实现过了啊。可以使用mwEdit或者其他的RichEdit控件。
    其实自己做也可以,用户输入的时候,只要进行“当前行”扫描就可以了啊!这样能够提高效率。当然,你还要注意用户用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);