2016-12-20 1 views
1

활성 창에 상대적인 좌표를 얻는 방법을 이해하지 못합니다 ... 마우스 위치의 좌표를 포함하는 레이블을 새로 고치는 프로그램이 있습니다. 좌표를 활성 창에 상대적으로 지정하십시오. (예 : 나는 프로그램을 시작합니다. 나는 메모장을 클릭합니다 -> 표시된 좌표는 메모장 창에 상대적 임). 감사합니다.활성 창에 상대적인 마우스 좌표 가져 오기

+1

[Cursor.Position'] (https://msdn.microsoft.com/en-us/library/system.windows.forms.cursor.position.aspx)와 [GetForegroundWindow 및 GetWindowRect] (http : //stackoverflow.com/questions/5878963/getting-active-window-coordinates-and-height-width-in-c-sharp) – Blorgbeard

+1

또는 ['ScreenToClient'] (http://www.pinvoke.net/)를 사용하십시오. default.aspx/user32.screentoclient) – Xiaoy312

+0

PointToScreen과 PointToClient를 조합하면 도움이 될 것입니다. – TaW

답변

1

모두 덕분에, Blorgbeared 팁을 사용하여 내 문제를 해결하기 위해 도달했습니다 ... GetWindowRect로 창 위치를 얻은 다음 Cursor.Position.X - rect.X 및 Cursor.Position을 사용하여 상대 좌표를 얻습니다. Y - rect.Y 좌표가 약 1/2 픽셀이지만 작업 중입니다.

관련 문제