procedure TForm1.ButtonClick(Sender: TObject);
var
Rect:TRect;
lpPoint:TPoint;
begin
GetWindowRect(Button.Handle,Rect); //取得控件相对于屏幕的坐标,即屏幕坐标;
lpPoint:=Rect.TopLeft;
Windows.ScreenToClient(Form1.Handle,lpPoint); //屏幕坐标转换为窗体坐标;
//lpPoint:=ScreenToClient(Rect.TopLeft); //屏幕坐标转换为窗体坐标 同上效果一样
Edit.Text:=IntToStr(lpPoint.X);
Edit1.Text:=IntToStr(lpPoint.Y);
SetCursorPos(lpPoint.X,lpPoint.Y);
end;
附加:
GetCursorPos获取当前鼠标位置(屏幕坐标)
ScreenToClient从屏幕坐标转换为客户区坐标
GetWindowRect获取窗体大小
更新中。。。