在Java中很容易做到,在Delphi中找了很多属性和函数都不行(可能英语水平太差)
当鼠标选择某一段文本的时候,选择条颜色改变并且选择到的文字的颜色也改变。

解决方案 »

  1.   

    RichEdit1.SelAttributes.Color := clRed;
      

  2.   

    2楼朋友,效果是这样。
    http://hi.csdn.net/attachment/201007/21/756293_1279680775duED.png
      

  3.   


    uses
      richedit;procedure TForm1.Button1Click(Sender: TObject);
    var  Fmt :TCharFormat2;
    begin
      Fmt.cbSize := SizeOf(Fmt);
      Fmt.dwMask := CFM_COLOR or CFM_BACKCOLOR  Fmt.crTextColor := clRed;//设置字体颜色
      Fmt.crBackColor := clYellow;
      RichEdit1.Perform(EM_SETCHARFORMAT,SCF_SELECTION,integer(@Fmt));
      RichEdit1.Lines.Add('中华人民共和国');
    end;
      

  4.   


    谢谢你回复,但不是这效果,首先字不是加的,是用户随便打的,然后选择一部分文字,就会出现选择条,要改变选择条的颜色。
                   windows记事本下的选择条颜色是蓝色,而选择文本的颜色是白色。
    Delphi下TRichEdit下默认选择条颜色是黑色(真丑),选择文本的颜色是白色。
      

  5.   

    鄙视你们这些不动脑筋的所谓的程序员,方法都给你了,自己研究一下richedit有个 SelectionChange事件,可以在那处理
      

  6.   


    RichEdit1SelectionChange事件 当我输入一个字符就触发该事件,还说我不动脑子。
    procedure TForm1.RichEdit1SelectionChange(Sender: TObject);
    begin
         ShowMessage('a');
    end;
    自己去试试吧。这个效果不能在SelectionChange函数里实现。如果行的话我就不会跑这来问了。
      

  7.   


    好了,好了,和谐第一,没事就别怄气了,你提供的方法我会参考的。也感谢你,procedure TForm1.RichEdit1SelectionChange(Sender: TObject);
    begin
             if RichEdit1.HideSelection Then
                ShowMessage('a');
    end;
    这样也不行。
      

  8.   

    真不动脑子,以下供参考,SelectionChange中一样可以处理procedure TForm1.RichEdit1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
      Fmt.crTextColor := clBlack;//设置字体颜色
      Fmt.crBackColor := clWhite;//设置字体背景色
      RichEdit1.Perform(EM_SETCHARFORMAT,SCF_ALL,integer(@Fmt));
      Label1.Caption := 'x:'+IntToStr(RichEdit1.SelStart)+',y:'+IntToStr(RichEdit1.SelLength);
      Fmt.crTextColor := clRed;//设置字体颜色
      Fmt.crBackColor := clYellow;//设置字体背景色
      RichEdit1.Perform(EM_SETCHARFORMAT,SCF_SELECTION,integer(@Fmt));
      RichEdit1.SelLength := 0;
    end;
      

  9.   


    TCharFormat2 或 TCharFormat 在D7里不认啊
      

  10.   

    RichEdit个人感觉不是很好用楼主可以看下 Synmemo  实现起来很简单
      

  11.   

    开玩笑吧楼主,你缺乏细心:你看人家给出代码有 uses RichEdit;