2010-05-22 11 views
7

기본적으로 내 WM_CREATE에서 TrackMouseEvent를 호출 한 다음 WM_MOUSELEAVE 후에 다시 호출하지만 내 프로그램이 정지됩니다. 내가 어디에서 붙어 있어야합니까? 감사합니다.TrackMouseEvent not working

답변

13

마우스가 컨트롤에서 벗어 났을 때 TrackMouseEvent으로 전화해야합니다. 컨트롤을 벗어날 때가 아닙니다.

WM_MOUSEMOVE 메시지에서 TrackMouseEvent으로 전화 할 수 있습니다. WM_MOUSEMOVE이 해지 될 때마다 TrackMouseEvent 번으로 전화 할 필요가 없으며 다른 번호가 WM_MOUSELEAVE이 될 때까지 한 번만 전화하십시오. WM_MOUSELEAVE을 얻은 후에는 다음 플래그로 WM_MOUSEMOVE을 호출하면 TrackMouseEvent을 다시 호출 할 수 있습니다.

기본적으로 WM_MOUSEMOVE을 사용하여 가상의 WM_MOUSEENTER을 에뮬레이션하고 그 플래그를 설정할 수도 있습니다.

+0

어떤 이벤트입니까? – jmasterx

+0

@ user146780 : 편집 참조 –