2013-05-30 5 views
0

나는 폼에서 마우스 위치를 사용하고 커서와 다른 지점 사이의 거리를 사용하려고합니다.빌더의 형태로 마우스 위치를 얻는 방법 6

코드를 찾았지만 전체 화면에서 좌표를 찾을 수는 없지만 ..witch는 양식과 관련이 없으므로 작동하지 않습니다. 또한 좌표계와 좌표계 사이에서 변환 할 수 있음을 발견했습니다. 화면의 좌표로 화면을하지만 어떻게해야합니까? ,

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

ubication? 위치를 의미합니까? –

+0

그래, 내가 할 ... 영어는 내 lenguage 아니다 ... – user2435002

+0

[양식 빌더 6에서 마우스 좌표를 얻는 방법] 가능한 중복 (http://stackoverflow.com/questions/16828265/how-to-get- 마우스 - 좌표 - 인 - 양식 빌더 - 6) –

답변

1

당신은 그에 대한 ScreenToClient 기능을 사용할 수 있습니다 발견 havent 한 당신은 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은 양식과 관련됩니다.

0

예 :

내가 실제로 방법으로 ScreenToClient가 정의되지 않은 심볼 HWND를 말한다 기능을

일을 예 ...

관련 문제