RT

解决方案 »

  1.   

    先在Form上放置三个Label组件,并在程序代码的前面声明下面这三个变量为整型数,即:
      VarLpos,Cpos,Linelength:integer;
      其中Lpos是行的值(按照Memo的规定,第一行为0),Cpos是字符的位置,LineLength是当前行的字符总个数。
      然后,再将下面的七行程序代码分别加入Memo1的OnMouseDown和OnKeyDown的事件代码处即可。
      Lops:=SendMessage(memol.Handle,EM—LINEFROMCHAR,Memol.SelStart,0);
      Cpos:=SendMessage(meno1.Handle,EM—LINEINDEX,Lpos,0);
         LineLength:=SendMessage(memol.handle,EM—LINELENGTH,Cpos,0);
         Cpos:=Memol.SelStart-CPos;
      Labell.caption:=inttostr(lpos);
      Label2.caption:=inttostr(cpos);
      Label3.caption:=inttostr(linelength);
      这样,执行程序后,随着在Memo组件中的编辑操作,Label1、Label2和Label3就将显示出相对应的当前行值、字符位置与当前行的字符总个数了。 
      

  2.   

    一:
    var
      SaveDialog : TSaveDialog;
    begin
      saveDialog := TSaveDialog.Create(Nil);
      SaveDialog.Fitle := 'Memo内容|*.Doc';
      if SaveDialog.Execute then
        Memo1.Lines.SaveToFileName(SaveDialog.FileName);
      
    end;
      

  3.   

    谢谢,不过呢。偶是要将光标定位到第几行
    如memo.lines.count=20
    edit.text=10
     将光标定位到 memo的第十行
      

  4.   

    非常感谢ExploiterSoft(匆匆) :) 我还以为不能这样子存的呢