|
그렇게 마우스 무브나 좌표등을 이용하면 마우스가 아주 빠른 속도로
움직이는 경우 등에서 문제가 생깁니다.
API에 보시면
TrackMouseEvent
TRACKMOUSEEVENT lpEvent = new TRACKMOUSEEVENT();
lpEvent->cbSize = sizeof(TRACKMOUSEEVENT);
lpEvent->dwFlags = TME_LEAVE | TME_HOVER ;
lpEvent->hwndTrack = Handle;
lpEvent->dwHoverTime = 5000;
::TrackMouseEvent(lpEvent)
라는 함수가 있습니다. 이걸 사용하시면 메인 윈도우에서 WM_MOUSELEAVE, WM_MOUSEHOVER
등의 메시지를 받을 수 있고, 이걸 처리하시면 간단하게 해결될 수 있습니다.
폼에 대한 것은 이런 식으로 해결할 수 있고, 다른 컴포넌트에 대한 것들은 가급적 컴포
넌트를 상속받은 후에 위와 같은 방식으로 해결하셔야겠죠.
그럼 즐프하세요
|