Windows API/윈도우 메시지

문서에서는 Windows API에서 사용되는 메시지를 정리한다.

메시지를 처리하는 경우, HWND형 매개변수를 hWnd로 WPARAM형 매개변수를 wParam으로, LPARAM형 매개변수를 lParam으로 표기한다.

보통 HWND형 매개변수에 들어 오는 값은 현재 들어온 메시지가 일어난 창의 핸들이다.

메시지를 처리하지 않는다는 것은, DefWindowProc을 호출하여 그 결과값을 반환하는 것을 말한다. 또한 반환값으로 성공을 의미하는 것은 0이고, 1이 아니다.

창 관련 메시지[편집 | 원본 편집]

WM_CREATE[편집 | 원본 편집]

챙이 생겼을 때 들어 오는 메시지다. 이 메시지를 처리하지 않을 경우, 창이 생성되지 않는다. 성공했다는 값을 반환하면 창이 무사히 뜬다.

WM_CLOSE[편집 | 원본 편집]

창이 닫히려 할 때(닫기 버튼을 두른다던가 작업 관리자에서 작업 끝내기를 누른다던가) 들어오는 메시지다. DefWindowProc을 호출 하지 않을 경우, 창을 닫지 않겠다는 의미가 된다.

WM_DESTROY[편집 | 원본 편집]

창을 닫힌 다음에 오는 메시지다. 이때, 이 창이 꺼진 순간에 프로그램이 종료되게 하려면 PostQuitMessage 함수를 호출해야 한다.

WM_QUIT[편집 | 원본 편집]

창크기 변경 메시지[편집 | 원본 편집]

WM_SIZE[편집 | 원본 편집]

WM_SIZING[편집 | 원본 편집]

그리기 관련 메시지[편집 | 원본 편집]

WM_PAINT[편집 | 원본 편집]

마우스 관련 메시지[편집 | 원본 편집]

WM_MOUSEMOVE[편집 | 원본 편집]

WM_MOUSELEAVE[편집 | 원본 편집]

WM_LBUTTONDOWN[편집 | 원본 편집]

WM_LBUTTONUP[편집 | 원본 편집]

WM_RBUTTONDOWN[편집 | 원본 편집]

WM_RBUTTONUP[편집 | 원본 편집]

키보드 관련 메시지[편집 | 원본 편집]

WM_KEYDOWN[편집 | 원본 편집]

WM_KEYUP[편집 | 원본 편집]