1. 오류 API 프로그래밍 디버깅 하는 중 아래의 2가지 오류가 발생한다. 2. 해결 방법 콘솔에서의 진입점은 main 함수이다. 그러나 API의 경우 진입점이 WinMain이기 때문에 위와 같은 오류가 생긴다. [구성 속성] -> [링커] -> [시스탬]으로 진입하여 하위 시스탬을 '콘솔'이 아닌 '창'으로 변경한다.
Study/API
// DialogBox 프록시저 BOOL CALLBACK AboutDlgProc(HWND hDlg, UINT iMessage, WPARAM wParam, LPARAM lParam); LRESULT CALLBACK WndProc(HWND hWnd, UINT iMessage, WPARAM wParam, LPARAM lParam) { switch (iMessage) { case WM_COMMAND: switch (LOWORD(wParam)) { case ID_NEW_GAME: g_GameManager.ResetGame(); break; case ID_OPTION: // DialogBox 생성(인스턴, 리소스(템플리트), Dialog가 뿌려질 윈도우, DialogBox 프록시저) DialogBox(g_hInst..
1. PtInRect 함수 BOOL PtInRect(const RECT *Iprc, POINT pt); POINT형 변수가 지정한 RECT안에 존재하는지 검사할 때 사용한다. 1번째 인자로 RECT의 주소가 들어간다. 2번째 인자로 비교하는 POINT가 들어간다. RECT tmpRect = { 100,100,300,300 }; POINT tmpPoint; switch (iMessage) { case WM_LBUTTONDOWN: tmpPoint.x = LOWORD(lParam); tmpPoint.y = HIWORD(lParam); if (PtInRect(&tmpRect, tmpPoint)) { MessageBox(hWnd, "Rect 안에 있다.", "알림", MB_OK); } return 0; } 2. ..