delphi 获取鼠标当前位置的相对坐标

delphi 获取鼠标当前位置的相对坐标 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class(TForm) procedure FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure FormClick(Sender: TObject); end; var Form1: TForm1; implementation {$R *.dfm} //方法一: 使用 OnMouseDown 事件的参数: procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin //参数中的 X,Y 就是当前鼠标所在位置的坐标 //譬如显示看看: Text := Format('OnMouseDown: x=%d; y=%d', [X,Y]); end; //方法二: 使用 OnMouseMove 事件的参数: procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin //参数中的 X,Y 就是当前鼠标所在位置的坐标 //譬如显示看看: Text := Format('OnMouseMove: x=%d; y=%d', [X,Y]); end; //方法三: 使用 OnMouseUp 事件的参数: procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin //参数中的 X,Y 就是当前鼠标所在位置的坐标 //譬如显示看看: ShowMessage(Format('OnMouseUp: x=%d; y=%d', [X,Y])); end; //方法四: 使用 API 函数 GetCursorPos: procedure TForm1.FormClick(Sender: TObject); var pt: TPoint; begin GetCursorPos(pt); {这是获取的相对于屏幕的坐标} pt := ScreenToClient(pt); {转换成本地坐标} ShowMessage(Format('API 函数 GetCursorPos: x=%d; y=%d', [pt.X, pt.Y])); end; end.

你可能感兴趣的:(Delphi)