不用 memo1.line.insert(0,'ddd');
这个样的做法插入数据。
例如“知道开始时间如:(11:45:10)和结束时间(12:20:10)”这样一句话。
分析这个里面只要是数字就用个图片代替,文字不动。
在memo或者richedit或者RxRichEdit 里面显示出来

知道开始时间如“图片”和结束时间”图片“
这样的效果来。图片我能实现,就是文字怎么才能一个一个写近来,到该换行的地方换下行即可。请各位指点下。

解决方案 »

  1.   

    使用消息可以有Memo或Richedit中插入,选择,定义格式,删除,控制滚动条,光标定位等操作。比如插入文字:
    Memo1.Perform(EM_REPLACESEL, 1, LongInt(PChar('aaaa'));
    具体各种消息可参考Delphi windows SDK help中的主题Edit Control Messages
    还有Memo好象不可以插入图片吧!
      

  2.   

    谢谢你的回答,
    memo的确不能插入图片。我使用的是
    RxRichEdit1  用你的代码
    RxRichEdit1.Perform(EM_REPLACESEL, 1, LongInt(PChar('aaaa')));
    不能插入
    memo 就可以。有这个方面的资料吗,谢谢了
      

  3.   

    标题的TMemo和TRichEdit都可以使用上述代码插入文字,我刚测过,你也可以试一下。
    你说的RxRichEdit是第三方控件,肯定对消息进行了重新封装,所以用法你只有自己找RxRichEdit的说明和文档了。
    你也可以用标准的TRichEdit试试。
      

  4.   

    谢谢 
    dctony() 了
    对于TMemo和TRichEdit  你的代码没有错误
    这个就能了,谢谢你的 帮忙
    procedure TForm1.Button6Click(Sender: TObject);
    var
      y: integer;
      rect :TRect ;
    begin
    ///光标退回
        with RxRichEdit1 do begin
           Y := SendMessage(RxRichEdit1.Handle, EM_LINEFROMCHAR, RxRichEdit1.SelStart, 0);
           selstart := perform( em_lineindex, y-1, 0 );
           perform( em_scrollcaret, 0, 0 );
        end;
     ////光标退回
      rect := RxRichEdit1.ClientRect ;
      RxRichEdit1.Perform(EM_SETRECT,0,longint(@rect));  RxRichEdit1.Perform(EM_REPLACESEL,0, Longint(PChar('aaaa')));
    end;