2013-05-30 41 views
0

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

但我找到的代碼只給你在整個屏幕上的座標..開關不能工作,因爲它是相對於窗體的編號..我也發現你可以轉換,座標之間的屏幕的形式的座標,但我該怎麼做?

我還沒有發現的例子,實際上由工作方式

功能ScreenToClient說未定義符號的hWnd ...

+0

ubication?你的意思是位置? –

+0

是的,我做...英語是不是我的語言... – user2435002

+0

可能重複的[如何在窗體生成器6中獲取鼠標座標](http://stackoverflow.com/questions/16828265/how-to-get-鼠標座標-IN-A-形式建設者-6) –

回答

1

您可以使用該功能ScreenToClient:

TPoint p = Mouse->CursorPos; 
Form1->ScreenToClient(p); 
ShowMessage("Mouse-Left relative to Form: "+IntToStr((int)p.x)); 
ShowMessage("Mouse-Top relative to Form: "+IntToStr((int)p.x)); 
0

是,您可以使用ScreenToClient方法,但採用以下方式:

TPoint p_rel_scr = Mouse->CursorPos; 
TPoint p_rel_frm = Form1->ScreenToClient(p_rel_scr); 
int x_position = (int) p_rel_frm.x; 
int y_position = (int) p_rel_frm.y; 

其中p_rel_scr是相對於屏幕左上角的位置,並且相對於表格爲p_rel_frm