Search
Duplicate

WinMsg 5개 추가 후 디버깅

날짜
2024/12/07
담당자
상태
Done🏠
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { // 윈도우 생성 시 case WM_CREATE: { wMsg = L"Created"; } break; case WM_COMMAND: { int wmId = LOWORD(wParam); // 메뉴 선택을 구문 분석합니다: switch (wmId) { case IDM_ABOUT: DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About); break; case IDM_EXIT: DestroyWindow(hWnd); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } } break; // 왼쪽 마우스 버튼 클릭 시 case WM_LBUTTONDOWN: { wMsg = L"LBUTTONDOWN"; // 다시 그려달라고 요청 InvalidateRect(hWnd, NULL, FALSE); } break; // 오른쪽 마우스 버튼 클릭 시 case WM_RBUTTONDOWN: { wMsg = L"RBUTTONDOWN"; // 다시 그려달라고 요청 InvalidateRect(hWnd, NULL, FALSE); } break; // 마우스 이동 감지 시 case WM_MOUSEMOVE: { wMsg = L"MOUSE MOVE"; // 다시 그려달라고 요청 InvalidateRect(hWnd, NULL, FALSE); } break; // 창 이동 시 case WM_MOVE: { wMsg = L"WINDOW MOVE"; // 다시 그려달라고 요청 InvalidateRect(hWnd, NULL, FALSE); } break; case WM_PAINT: { PAINTSTRUCT ps; HDC hdc = BeginPaint(hWnd, &ps); // TODO: 여기에 hdc를 사용하는 그리기 코드를 추가합니다... RECT rect{ WINX / 2 - 50, WINY / 2 - 50, WINX / 2 + 50, WINY / 2 + 50 }; DrawText(hdc, wMsg.c_str(), wMsg.size(), &rect, DT_CENTER); EndPaint(hWnd, &ps); } break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } return 0; }
C++
복사