问题如下:
1.程序运行后,在Memo中输入一些预定义的字符串(如begin,end等等)会自动用蓝色或是别的什么色彩显示,类似与delphi的保留字的效果。
2.一行字符串在鼠标双击后,能够选中这一行。

解决方案 »

  1.   

    呵呵。我做过类似的东西。简单提示一下吧:MEMO实现这样的功能比较麻烦,建议你自己写一个组件,能提供更强大的功能。如果不想写,可以去网上搜一下这个:mwEdit,有源代码。还可以做到某行高亮度显示
    至于第二个问题:双击之后,你可以鉴戒一下标准的SEARCH实现。
      

  2.   

    1:可能要搜索整个memo来做匹配了
    2:得到memo的当前所在行就好办了
    留下邮箱,给你发一个
      

  3.   

    memo不能改变字体颜色的
    用richedit
    至于第二个问题,memo本身就可以,不用编程实现
      

  4.   

    sorry看错了,看成选中一个单词了
    procedure TForm1.Memo1DblClick(Sender: TObject);
    var i:integer;
    begin
    i:=SendMessage(memo1.Handle, EM_LINEFROMCHAR, memo1.SelStart, 0);
    Memo1.SelStart:=SendMessage(memo1.Handle, EM_LINEINDEX,i , 0);
    memo1.SelLength:=length(memo1.Lines.Strings[i]);
    end;
      

  5.   

    用下这个:http://synedit.sourceforge.net/
      

  6.   

    [email protected]
    谢谢了!
      

  7.   

    1、用RichEdit比Memo好
    2、在RichEdit中输入begi时是黑色,在接着输入g,也就是变成begin后,begin这个单词自动变成蓝色,这个的实现没有思路
    3、在RichEdit中双击已经实现了我的需要了:比如select * from Table where ID="123456",在双击了123456部分时选中该字符串,再双击,选中整行语句。这个原理是什么?