C++ 당시, textRpg한 것 마냥, 익숙한 클래스 문법과, extern변수 등을 이용해서 나만의 프레임 워크를 짜보자.
ex) 윈도우 메인 창 관련 변수들에서, 화면 해상도 크기 조절을 위한 수식을 위해서, 변수 선언이나, HWND같은 것, 그리고 템플릿 형태의 delete등.
이를 주석 처리하고, 대신에, PeekMessage로 바꾼다.
여기서 사용하는 함수
[1]. PM_REMOVE : 메시지를 읽어 오면서, 메시지 큐에서 제거
[2]. PM_NOREMOVE : 메시지 큐에 메시지 존재 여부만 파악하고, 메시지를 읽어오려면 GetMessage를 다시 호출한다.
[3] TranslateMessage : 키보드 메시지를 가공해, 프로그램에서 쉽게 사용할 수 있게 해준다.
[4] DispatchMessage(&msg) : 시스템 메시지 큐에서 꺼낸 메시지를 프로그램의 메세지 처리 함수로 전달하는 함수이다.
CMainGame클래스를 하나만들어서, 멤버 변수로, HDC를 가져오자.
윈도우메인함수에 메인클래스를 추가하고, GetMessage썻던 곳 대신 만들었던, PeekMessage함수 쪽에, else문에, CMainGame클래스 업데이트와 렌더함수를 쓴다.
InitInstance함수에서, 화면 창 해상도크기를 위한 설정으로 RECT rc를 여기서 선언하는데, Define.h에서 정의해놨던 사이즈크기 변수들을 가지고 식을 작성한다.
5)AdjustWindowRect()함수가 가장 중요한데,
rc = rc + 기본창스타일 + 메뉴바 사이즈 고려 여부.(얘는 그 원을 한 번 그려보면 아는데, 보통 원그리면 원이 좀 파여져서 나오거든, 이게 근데 위 상단에 메뉴바 사이즈까지 고려안해서 그런거라서 그렇단다) TRUE로 해야 아~ 고려할게~ 라는 뜻으로 원이 딱 맞게 나옴.