编写一个可以高亮显示关键字的richedit 
用for循环取每一行的文件,判断是否为关键字,true的话就把这一行的文字全部更改颜色. 我不知道如何设置RichEdit指定行号字体颜色,如果用 
richedit.selstart 和 richedit.sellength 
然后再通过richedit.selattributes.color 来设置 richedit.seltext 的内容,方法好象显得有些怪怪的,还有别的办法吗?谢谢

解决方案 »

  1.   


    procedure TfrmOptSet.ShowBGround(const intIndex: integer);
    var
      strCode:string;
    begin
      ReDemo.Lines.Clear;
      case intIndex of
        mConstIndexZero://    =0;   //默认
          begin
            ReDemo.Color:=clWhite;
          end;
        mConstIndexOne://     =1;   //微亮
          begin
            ReDemo.Color:=clblack;
          end;
        mConstIndexTwo://     =2;   //古典
          begin
            ReDemo.Color:=clNavy;
          end;
        mConstIndexThree://   =3;   //浅蓝
          begin
            ReDemo.Color:=claqua;
          end;
      end;  ReDemo.Font.Size:=12;
      ReDemo.Lines.Add('main()');
      ReDemo.SelStart:=0;
      ReDemo.SelLength:=Length('main()');
      ReDemo.SelAttributes.Color:=clRed;
      strCode:='{'
              +#13#10
              +#9+'Fun()'
              +#13#10
              +#9+'{'
              +#13#10
              +#9+'}'
              +#13#10
              +'}';
      ReDemo.Lines.Add(strCode);
            
      ReDemo.SelStart:=Length('main()');
      ReDemo.SelLength:=Length('main()')+Length(strCode);
      ReDemo.SelAttributes.Color:=clGreen; 
    end;//ReDemo为richedit控件// 这是我的做的一个例子,希望对你有帮助