memo1.selstart:=100;
memo1.sellength:=0;
定位在第100个字符,行和列你把它计算成字符数就可以用上面的办法了。

解决方案 »

  1.   

    memo1.selstart:=100;
    memo1.sellength:=0;
    定位在第100个字符,行和列你把它计算成字符数就可以用上面的办法了。
      

  2.   

    得到memo当前光标行列:
    procedure TForm1.Button1Click(Sender: TObject);
    var
      a:tpoint;
    begin
      a:=Memo1.CaretPos ;
      edit1.Text :=inttostr(a.x );
      edit2.Text :=inttostr(a.y );
    end;
      

  3.   

    我的意思是比如我的memo中已充满了文字,我想判断现在光标停在第几行的第几列!
      

  4.   

    那就用Memo1.CaretPos;var
      a:tpoint;
    begin
      a:=Memo1.CaretPos ;
      edit1.Text :=inttostr(a.x );
      edit2.Text :=inttostr(a.y );
    end;其中a.x是列,a.y是行数
      

  5.   

    那就用Memo1.CaretPos;var
      a:tpoint;
    begin
      a:=Memo1.CaretPos ;
      edit1.Text :=inttostr(a.x );
      edit2.Text :=inttostr(a.y );
    end;其中a.x是列,a.y是行数
      

  6.   

    定义变量iLine:Integer;
    {使用em_LineFromChar消息}
    iLine:=Memo1.Perform(em_LineFromChar,$FFFF,0);
    {第一行为0}
    messageDlg('行号:'+IntToStr(iLine),mtInformation,[mbOK],0);
      

  7.   

    那就用Memo1.CaretPos;var
      a:tpoint;
    begin
      a:=Memo1.CaretPos ;
      edit1.Text :=inttostr(a.x );
      edit2.Text :=inttostr(a.y );
    end;其中a.x是列,a.y是行数
      

  8.   

    发送两个消息:
    获得当前的光标位置:EM_CHARFROMPOS
    获得当前的行数:EM_LINEFROMCHAR
      

  9.   

    发送两个消息:
    获得当前的光标位置:EM_CHARFROMPOS
    获得当前的行数:EM_LINEFROMCHAR
      

  10.   

    发送两个消息:
    获得当前的光标位置:EM_CHARFROMPOS
    获得当前的行数:EM_LINEFROMCHAR
      

  11.   

    var
      a:tpoint;
    begin
      a:=Memo1.CaretPos ;
      edit1.Text :=inttostr(a.x );
      edit2.Text :=inttostr(a.y );
    end;
      

  12.   

    //光标所在行
    lpos:=sendmessage(memo1.handle,EM_LINEFROMCHAR,memo1.selstart,0)
    //光标所在字符位置(列)
    lpos:=sendmessage(memo1.handle,EM_LINEINDEX,memo1.selstart,0)
      

  13.   

    sorry,改正
    lpos:=sendmessage(memo1.handle,EM_LINEINDEX,lpos,0)
      

  14.   

    下载一本Delphi开发人员指南,上面有例子!!!