Win32 API with 나우캠퍼스
Win32 API 6강. (2) 마우스
코다람쥐
2022. 8. 16. 15:23
1. 마우스
마우스 메시지
▩ 마우스 이동시 발생
▩ 마우스 위치 정보
LOWORD(lParam) => x좌표
HIWORD(lParam) => y좌표
사용예시.
static char string[100];
static int nXPos, nYPos;
switch (message)
{
case WM_MOUSEMOVE:
nXPos = LOWORD(lParam);
nYPos = HIWORD(lParam);
InvalidateRect(hWnd, NULL, TRUE);
break;
case WM_PAINT:
{
hdc = BeginPaint(hWnd, &ps);
sprintf_s(string, "x좌표 : %d, y좌표 : %d", nXPos, nYPos);
TextOut(hdc, 0, 0, string, strlen(string));
EndPaint(hWnd, &ps);
}
break;
}
그 외 마우스 메시지
▩ WM_LBUTTONDOWN
- 마우스 왼쪽 버튼 눌림
▩ WM_LBUTTONUP
- 마우스 왼쪽 버튼 놓임
▩ WM_RBUTTONDOWN
- 마우스 오른쪽 버튼 눌림
▩ WM_RBUTTONUP
- 마우스 오른쪽 버튼 놓임
마우스 버튼 코드
▩ wParam으로 전달되는 코드
MK_LBUTTON, MK_MBUTTON, MK_RBUTTON, MK_CONTROL, MK_SHIFT
▩ 드래그
WM_MOUSEMOVE + MK_LBUTTON