마우스 이벤트가 발생할 때마다 시스템 커서 핫 스폿을 포함 하는 창이 나가 마우스 캡처 창 하거나 WM_NCHITTEST 메시지를 보냅니다. 이 메시지를 사용 하 여 클라이언트 영역이 나 비클라이언트 영역 마우스 메시지를 보낼 것인지 결정 하는 시스템. 마우스 이동 및 마우스 단추 메시지를 수신 해야 하는 응용 프로그램을 DefWindowProc 함수 WM_NCHITTEST 메시지를 전달 해야 합니다.
WM_NCHITTEST 메시지의 lParam 매개 변수는 커서 핫스폿 화면 좌표를 포함합니다. DefWindowProc 함수 좌표를 검사 하 고 핫 스팟의 위치를 식별 하는 적중 테스트 값을 반환 합니다. 적중 테스트 값을 다음 값 중 하나가 될 수 있습니다.
| 값 | 핫 스팟의 위치 |
|---|---|
| HTBORDER | 크기 조정 테두리 없는 창 테두리 |
| HTBOTTOM | 윈도우의 더 낮은 가로 테두리 |
| HTBOTTOMLEFT | 창 테두리의 왼쪽된 아래 모서리에서 |
| HTBOTTOMRIGHT | 창 테두리의 오른쪽 아래 모서리에서 |
| HTCAPTION | 제목 표시줄에서 |
| HTCLIENT | 클라이언트 영역에서 |
| HTCLOSE | 닫기 단추. |
| HTERROR | 화면 배경 또는 창 사이의 구분선 (와 같은 HTNOWHERE, DefWindowProc 함수는 오류를 나타냅니다 시스템 경고음을 생성 한다는 점을 제외 하면) |
| HTGROWBOX | (HTSIZE 동일) 크기 상자에 |
| HTHELP | 도움말 단추. |
| HTHSCROLL | 가로 스크롤 막대에서 |
| HTLEFT | 창의 왼쪽된 테두리에 |
| HTMENU | 메뉴에서 |
| HTMAXBUTTON | 최대화 단추. |
| HTMINBUTTON | 최소화 단추. |
| HTNOWHERE | 화면 배경 또는 윈도우 사이의 구분선 |
| HTREDUCE | 최소화 단추 |
| HTRIGHT | 창의 오른쪽 테두리에 |
| HTSIZE | (HTGROWBOX 동일) 크기 상자에 |
| HTSYSMENU | 시스템 메뉴 또는 자식 창에 있는 닫기 단추 |
| HTTOP | 창의 위쪽 가로 테두리 |
| HTTOPLEFT | 창 테두리의 왼쪽된 위 모서리에서 |
| HTTOPRIGHT | 창 테두리의 오른쪽 위 모서리에서 |
| HTTRANSPARENT | 현재 동일한 스레드에서 다른 창에 의해 덮여 창에서 |
| HTVSCROLL | 세로 스크롤 막대에서 |
| HTZOOM | 최대화 단추 |
커서가 창의 클라이언트 영역에 있는 경우에 DefWindowProc HTCLIENT 적중 테스트 값을 창 프로시저에 반환 합니다. 시스템 커서 핫스폿 화면 좌표를 클라이언트 좌표로 변환 하 고이 다음 게시물 적절 한 클라이언트 영역 마우스 메시지 창 프로시저를 시스템에이 코드를 반환 하는 경우.
커서 핫 스폿을 창의 비클라이언트 영역에 있을 때 DefWindowProc 함수 다른 적중 테스트 값 중 하나를 반환 합니다. 시스템 창 프로시저에서 이러한 적중 테스트 값 중 하나를 반환 하는 경우는 비클라이언트 영역의 마우스 메시지를 메시지의 wParam 매개 변수 및 lParam 매개 변수에서 커서 좌표에서 적중 테스트 값을 넣어 게시물.