2010-03-03 4 views
0

Mac OS X의 Cocoa Framework에는 Tracking Rect가 있습니다.이 기능을 사용하면 마우스를 넣거나 뺄 때 콜백 메시지를 받고보기 영역을 효과적으로 등록 할 수 있습니다.Windows에서 마우스 커서 위치를 추적하는 가장 효율적인 방법은 무엇입니까?

Windows에 비슷한 API가 있습니까? 모든 x 간격 GetCursorPos() 호출하려면 타이머를 사용하지 않는 싶습니다.

완전히 다른 이름이 붙어있어서 사소한 것일 수도 있지만 지금까지는 아무것도 찾지 못했습니다.

답변

2

TrackMouseEvent이 메시지는 마우스가 창을 떠날 때 WM_MOUSELEAVE 메시지를 보내고 잠시 동안 마우스가 움직이지 않으면 마우스 오버 알림을 보냅니다.

너가 너의 창보다는 더 작은 추적 선을 원하면, 너는 너 자신 그것을해야한다보다는.

1

귀하의 창에 캐치 WM_MOUSEMOVE.

+0

이 메시지는 버튼과 같은 자식 컨트롤 위에 마우스를 올려 놓지 않은 경우에만 게시 된 것으로 보입니다. – Drarok

+0

@Drarok : 메시지 루프에서 메시지를 잡아 메시지를 발송하지 않을 수도 있습니다. 여기에서 좌표를 변환하거나 GetCursorPos()를 호출 할 수 있습니다. 이렇게하면 모든 창을 서브 클래스 할 필요가 없습니다. –

1

마우스 이벤트를 캡처하려면 마우스 후크를 설치할 수 있습니다.