如何像qq一样,同一个文本框内,有不同字体?我通过tfont设置字体时,如何针对不同行设置不同的字体?

解决方案 »

  1.   

        刚刚接触了RichEdit这个控件,这个控件和memo控件类是,都是文本编辑控件,但是RichEdit有一个优势,就是可以给指定的字符串添加颜色,字体样式,字体大小,等等功能 如图1. 图1:呵呵,想聊天工具,就有这样的效果! 介绍一下RichEdit的几个属性吧~!  RichEdit1.SelStart :=0 //  这个代表开始的位置,就是从上面地方开始添加颜色,样式!  RichEdit1.SelLength := 5 ;//这个代表给多少字符添加颜色! richedit1.SelAttributes.Color  这个是具体属性!类是聊天窗口的颜色写法!代码如下procedure TForm1.Button1Click(Sender: TObject);
    var
      sNickName, sstr: string;
    begin
      sstr := '改变颜色的字符串-----------------!';
      sNickName := '用户1:';
      richedit1.Lines.Add(sNickName + sstr);  RichEdit1.SelStart := Length(RichEdit1.Text) - Length(sstr)-2;//(Length(sNickName)  + length(sstr)); //Length(sNickName);  RichEdit1.SelLength := Length(sstr);
      richedit1.SelAttributes.Color := clRed;
    end;
      

  2.   

    刚刚找到本参考书,正打算看看richedit呢,很感谢,有你们的指导看了才有方向
      

  3.   

    最好的资料是看C:\Program Files\Borland\Delphi7\Demos\RichEdit下的demo了~~
      

  4.   

    直接用浏览器的控件好了,呵呵这个支持你HTML.呵呵.
      

  5.   

    试过了,还有个问题,比较基础,Tfont的Stytle是个Tstring的枚举类型,有四个样式,我要实相符只赋值有点麻烦,具体问题是:
    case dlgfont.stytle of(1234代表那四个格式:粗体、常规、斜体等)
    1:  ……falg:=……
    2:  ……falg:=……
    3:  ……falg:=……
    4:  ……falg:=……
    end; 这样不行,要在dlgfont.stytle改为Tfont(dlgfont.stytle),(小弟记性不好,Tfont应该是控件的名称),然后可以给flag赋值了,但是反过来操作呢?
    case flag of
    1:    dlgfont.stytle:=?????
    2:
    如何给 dlgfont.stytle赋值
      

  6.   

    搞定了 dlgfont.stytle:=[值] 就好
      

  7.   

    感谢8楼,直接看demo,什么功能都有