GetTextPos(RichEdit1.Handle, RichEdit1.SelStrat, RichEdit1.SelLength);function GetTextPos(P: Hwnd; Ss, Sl: Longint): TPoint;
var
  Row,col : integer;
begin
  col := SendMessage(P,EM_LINEINDEX,-1,0);
  row := SendMessage(P,EM_LINEFROMCHAR,col,0);
  if col > Ss then
    col := Ss + Sl - col
  else
    col := Ss - col;
  result.x := col + 1;
  result.y := row + 1;
end;

解决方案 »

  1.   

    首先感谢xzm2000(不不)(每天都要进步),但你所写的程序是读取相对的行数和列数,我要的是相对于当前FORM的X和Y,而不是在RICHEDIT里的行数和列数~我是要在RICHEDIT里光标在当前FORM中的坐标~谢谢你的代码,等我得到答案我会给你加点分的~
      

  2.   

    得到行列数再乘上字体的高度和宽度,再调整相对位置不就出来了吗
    把richedit的字体设为和form的字体一样,然后
    canvas.textwidth('t')
    canvas.textheight('t')
      

  3.   

    这确实是一个办法,THANKS,给分了~全给你~呵呵~