다음은 마우스 입력 메시지다. 직관적이라 잘 알수 있을듯.

WM_LBUTTONDOWN
WM_RBUTTONDOWN
WM_MBUTTONDOWN
WM_LBUTTONUP
WM_RBUTTONUP
WM_MBUTTONUP
WM_LBUTTONDBLCLK
WM_RBUTTONDBLCLK
WM_MBUTTONDBLCLK


 그리고 여기서 하나더, 마우스 메시지는 lParam의 상위 워드에 마우스 버튼이 눌러진, y좌표, 하위 워드에 x좌표를 가지며 좌표값을 검출해 내기 위해 HIWORD, LOWORD등의 매크로 함수를 사용한다. 즉 마우스 메시지가 발생한 위치의 조표는  (LOWORD(lParam),HIWORD(lParam))이 된다.

 또한 다중모니터의 경우 이 좌표값이 음수가 될수도 있다.

wParam에는 마우스 버튼의 상태와 키보드 조합키의 상태가 전달된다.

MK_CONTROL Ctrl버튼이 눌러져 있음
MK_LBUTTON 마우스 왼쪽버튼이 눌러져 있음.
MK_RBUTTON 마우스 오른쪽 버튼이 눌러져 있음.
MK_MBUTTON 마우스 중간버튼이 눌러져 있음.
MK_SHIFT Shift버튼이 눌러져 있음.

이외에도 마우스가 움직일때 전달되는 WM_MOUSEMOVE, 휠마우스 상태를 정해주는 WM_MOUSEWHEEL등이 있다.

'Programming > Visual C++' 카테고리의 다른 글

타이머.  (0) 2011.06.29
기타. WM_CREATE  (0) 2011.06.29
입력3. TranslateMessage  (0) 2011.06.29
입력2. WM_KEYDOWN  (0) 2011.06.29
입력1. WM_CHAR  (0) 2011.06.29

+ Recent posts