WinAPI: Mouse
Windows와 같은 GUI운영체제에서는 키보드보다 마우스가 더 많이 사용됩니다. 여기서 마우스는 마우스를 포함한 터치패드, 트랙볼, 타블렛 등을 모두 포함합니다. 마우스 입력에 관한 메시지는 다음과 같은 종류가 있습니다.
마우스 메시지는 lParam의 상위 워드에 마우스 버튼이 눌러진 y좌표, 하위 워드에 x좌표를 가지며 좌표값을 검출해내기 위해 HIWORD, LOWORD 등의 매크로 함수를 사용합니다.
wParam에는 마우스 버튼의 상태와 키보드 조합 키의 상태가 전달됩니다.
MK_CONTROL : Ctrl 키가 눌려있습니다.
MK_LBUTTON : 마우스 왼쪽 버튼이 눌려 있습니다.
MK_RBUTTON : 마우스 오른쪽 버튼이 눌려 있습니다.
MK_MBUTTON : 마우스 중간 버튼이 눌려 있습니다.
MK_SHIFT : Shift 키가 눌려 있습니다.
누름 메시지 외에 마우스가 이동할 때마다 전달되는 WM_MOUSEMOVE 메시지가 있습니다.
버튼 | 누름 | 놓음 | 더블클릭 |
좌측 | WM_LBUTTONDOWN | WM_LBUTTONUP | WM_LBUTTONDBLCLK |
우측 | WM_RBUTTONDOWN | WM_RBUTTONUP | WM_RBUTTONDBLCLK |
중앙 | WM_MBUTTONDOWN | WM_MBUTTONUP | WM_MBUTTONDBLCLK |
마우스 메시지는 lParam의 상위 워드에 마우스 버튼이 눌러진 y좌표, 하위 워드에 x좌표를 가지며 좌표값을 검출해내기 위해 HIWORD, LOWORD 등의 매크로 함수를 사용합니다.
wParam에는 마우스 버튼의 상태와 키보드 조합 키의 상태가 전달됩니다.
MK_CONTROL : Ctrl 키가 눌려있습니다.
MK_LBUTTON : 마우스 왼쪽 버튼이 눌려 있습니다.
MK_RBUTTON : 마우스 오른쪽 버튼이 눌려 있습니다.
MK_MBUTTON : 마우스 중간 버튼이 눌려 있습니다.
MK_SHIFT : Shift 키가 눌려 있습니다.
누름 메시지 외에 마우스가 이동할 때마다 전달되는 WM_MOUSEMOVE 메시지가 있습니다.
댓글
댓글 쓰기