var
 p:TPoint;
getcursorpos(p.x,p.y);

解决方案 »

  1.   

    to c_hk
    我想得到文本光标的位置,不是鼠标光标的位置。
      

  2.   

    你可以参考“如何确定Memo中光标的当前行和列”(确实的标题我记不清了,大概如此),
    以前有人在csdn讨论过,搜索一下吧
      

  3.   

    Delphi提供的TMemo和TRichEdit两个控件也没有提供此功能。可以通过调用函数SendMessage向TMemo或TRichEdit控件的句柄发送EM_LINEFROMCHAR消息,获取当前光标所在行,发送
    EM_LINEINDEX消息可以获取当前光标所在列。在窗体上添加StatusBar1,并设定其中的Panels。在Memo1的onMouseDown和onKeyDown事件中加入以下代码:procedure TForm1.Memo1MouseDown(....)
    begin
     StatusBar1.Panels.Items[0].Text=SendMessage(
                    Memo1.Handle,EM_LINEFROMCHAR ,-1,0)+1;
     StatusBar1.Panels.Items[1].Text=Memo1.SelStart-SendMessage(
                    Memo1.Handle,EM_LINEINDEX,-1,0)+1;
    end;
    便会在状态栏中显示当前鼠标所在的行数和列数。
      

  4.   

    我也想知道
    麻烦帮我提一下帖子
    http://www.csdn.net/expert/topic/189/189913.shtm
      

  5.   

    prometheusphinx(白日梦)说得对!
      

  6.   

    var
      p:Tpoint;
    begin
      GetCaretPos(p);
      P:=ClientToScreen(p);
      showmessage(format('%d,%d',[p.x,p.y]));
    end;