windowsAPI
마우스 입력
Windows API에서 마우스 입력을 처리하기 위한 메시지 코드는 다음과 같다.LRESULT CALLBACK WindowProcedure(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam){ switch(msg) { case WM_MOUSEMOVE: { // 마우스 이동 처리 // cout 마우스가 이동하는 경우에는 WM_MOUSEMOVE 메시지가 발생한다. 이동한 순간의 마우스 좌표는 윈도우의 좌상단을 (0, 0)으로 하며, lParam을 이용하여 구할 수 있다.x 좌표: LOWORD(lParam)y 좌표: HIWORD(lParam)WM_MOUSEMOVE 메시지가 발생했을 때, 마우스의..
키보드 입력(WM_KEYDOWN, WM_KEYUP)
WindowsAPI를 이용하여 사용자 입력, 그 중에서 키보드 입력 처리를 하기 위해선 WM_KEYDOWN, WM_KEYUP 메시지 코드를 사용해야 한다.LRESULT CALLBACK WindowProcedure(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam){ switch(msg) { case WM_KEYDOWN: // 키가 눌렸을 때 처리 // 키에 대응되는 정수값 확인 cout WM_KEYDOWN은 키보드의 특정 키가 눌린 순간 발생하는 윈도우 메시지다. 이 때 입력된 키에 대한 값은 wParam에 정수형으로 전달된다. 따라서 입력된 키에 대응하는 정수값을 확인해보려면 wPa..
윈도우 메시지 처리
Windows API에서는 WNDPROC 콜백 함수를 통해 윈도우 운영체제에서 발생하는 모든 메시지(이벤트)를 처리할 수 있다. 시그니처는 다음과 같다.LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);hwnd: 메시지가 발생한 윈도우에 대한 핸들uMsg: 메시지 코드wParam, lParam: 메시지와 관련된 추가 데이터. 정확한 의미는 메시지 코드에 따라 달라진다.윈도우 프로시저(WindowProc) 함수는 hwnd가 관리하는 윈도우에서 어떤 이벤트가 발생하면 호출되는 콜백 함수다. 따라서 특정 이벤트/메시지를 처리하기 위해선 함수 내부에서 메시지 코드(uMsg)를 읽어 특정 동작을 수행하도록 만들어 주면 된..