//獲取鼠標在窗體中的當前位置
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;