// 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..
분류 전체보기
#pragma once template class Singleton { private: static T* m_pThis; protected: Singleton() { }; virtual ~Singleton() { }; public: static T* GetInstance() { if (m_pThis == NULL) { m_pThis = new T; } return m_pThis; } static void DestroyInstace() { if (m_pThis) { delete m_pThis; m_pThis = NULL; } } }; template T* Singleton::m_pThis = 0; 1. 오류 싱글턴에 사용하기 위한 헤더를 만들 때 NULL을 체크하는 부분에서 NULL 식별자를 찾을 수 없다..
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. ..