程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> Delphi調用WINApi: GetCursorPos與轉換

Delphi調用WINApi: GetCursorPos與轉換

編輯:Delphi

//獲取鼠標在窗體中的當前位置

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;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved