2013-05-30 43 views
0

我想在窗體上使用鼠標的座標並計算光標和其他點之間的距離。如何在窗體構建器中獲取鼠標座標6

但我發現的代碼只給你在整個屏幕上的座標..不是 的形式。 我也發現你可以將屏幕的座標轉換爲表格的座標,但是我怎麼做?

我還沒有發現的例子,其實在功能ScreenToClient的方式工作

說未定義符號的hWnd ...

回答

1

如果您調用Win32 API函數ScreenToClient(),你必須爲它提供HWND,如:

POINT Pt = Mouse->CursorPos; 
Pt = ::ScreenToClient(this->Handle, &Pt); 

然而,VCL UI控件也有從繼承自己ScreenToClient()方法,例如:

TPoint Pt = this->ScreenToClient(Mouse->CursorPos); 
+0

Pt:= Mouse.CursorPos; Pt:= Windows.ScreenToClient(Handle,Pt); 給了我這個錯誤 E2070:命名空間'Windows'的無效使用 – user2435002

+0

您是否已將'Windows'添加到'uses'子句中? –

+0

#include user2435002