Api 函数: GetCursorPos 与转换


//获取鼠标在窗体中的当前位置

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;

  Shift: TShiftState; X, Y: Integer);

var

  str: string;

begin

  str := Format('%d,%d',[X,Y]);

  ShowMessage(str);

end;


 
   
//用 GetCursorPos 获取的是鼠标相对与屏幕的位置 var ps: TPoint; str: string; begin GetCursorPos(ps); str := Format('%d,%d',[ps.X,ps.Y]); ShowMessage(str); end;
//但通过 ScreenToClient 方法可以转换过来 var ps: TPoint; str: string; begin GetCursorPos(ps); ps := ScreenToClient(ps); str := Format('%d,%d',[ps.X,ps.Y]); ShowMessage(str); end;
// ClientToScreen 函数 procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var str: string; ps: TPoint; begin {显示当前鼠标位置, 这是相对于窗体的} str := Format('%d,%d',[X,Y]); ShowMessage(str); {通过 ClientToScreen 函数可以得到当前鼠标相对于屏幕的位置} ps := point(X,Y); ps := ClientToScreen(ps); str := Format('%d,%d',[ps.X, ps.Y]); ShowMessage(str); end;

你可能感兴趣的:(Cursor)