API

SetCapture 특기할만한 사항

디버그정 2011. 7. 16. 20:02

SetCapture API의 경우 보통  마우스가 윈도우 영역을 벗어나더라도
계속 마우스 무브 메시지를 받을 필요가 있는 경우 사용한다.
ReleaseCapture하면 설정된 캡쳐가 해제된다.

이건 윈도우 이동시의 윤곽선 변경 테스트해보다가 발견한 것인데
윈도우의 프레임이나 메뉴, 캡션 등 논클라이언트 영역에서 마우스 이동할 경우에도
SetCapture 함수를 사용하면 WM_MOUSEMOVE로 메시지가 온다.
참고로 논클라이언트 영역에서 마우스 이동시 원래는 WM_NCMOUSEMOVE가 발생한다.
따라서 일단 SetCapture를 사용하면 어떤 영역에 있든 WM_MOUSEMOVE가 오게되므로
위 메시지처리부에서 일괄적으로 코딩할 수 있어서 편하다.