procedure TForm1.ListView1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  //X, Y: Integer
  X,Y 就是鼠标在ListView的坐标的X轴和Y轴的  然后用ScreenToClient得到屏幕的坐标
  其中要用到function Point(AX, AY: Integer): TPoint;
  function ScreenToClient(const Point: TPoint): TPoint;
end

解决方案 »

  1.   

    要得到屏幕上鼠标所在的一点的坐标的。上面那位朋友是得到LISTVIEW上的坐标(对应到屏幕坐标系统)吧。我的意思是说也可得到窗体外的一点的坐标。
      

  2.   

    var
      vPoint: TPoint;
    begin
      vPoint := Mouse.CursorPos; //No.1
      Windows.GetCursorPos(vPoint); //No.2
    end;
      

  3.   

    屏幕上任一点是什么意思?和鼠标相关吗?GetCursorPos可以啊!
      

  4.   

    同意用 GetCursorPos
    用ClientToScreen的话还要计算内部相对窗体的坐标
    你先放一个Panel再在Panel上放Listview再用Clienttoscreen就知道俺的意思了
      

  5.   

    Delphi里原有的控件没又可以用的
    你可以自己先生成一个hook 
    然后 调用Windows.GetCursorPos
    在控件的固有过程中 无法响应在 form外的鼠标位移
    关于hook 你可以看看delphi中的例子