20151118 - WinAPI 일지 엄민웅 (6-5-가. CreateFont), 게임 만들기
제 8 장. 대화상자
까지 CM님 없으실 때 각자 해보라고 하심.
CM님하곤 게임 만들기 고고 푸쉬푸쉬 같은 게임 만들꺼라고 하심.
7-1-나. Button 까지 예제 소스 보고 실행 결과 확인 해보았었다.
(택스트 예제 부분 프로젝트 일일이 새로 만들기 싫어서 윈프록 부분 주석 처리하고 다음 예제 하고 그랬습니다 ㅠㅠ)
-------------------------------------------------------------------------------------------------------------
게임 만들기.
예전에 배운 메세지 맵 기법을 이용해서 윈프록 부분을 간단하게 만들었었다.
MFC 같은거 나중 공부해 보면 거의 다 메세지맵 기법으로 구현 되어있다고 하셨던 걸루 기억.
switch (iMessage)
{
case WM_CREATE:
return 0;
case WM_KEYDOWN:
return 0;
case WM_PAINT:
return 0;
case WM_DESTROY:
return 0;
이런 식으로 스위치 케이스로 써야 했던 것을
해더파일에 구조체 선언
typedef struct _stMsgMap
{
UINT uiMsg;
LRESULT(*fp)(HWND, WPARAM, LPARAM);
} stMsgMap;
C소스에
구조체 배열 다음 같이 만들어주고
stMsgMap MSGMAP[] = {
{WM_PAINT, OnPaint },
{WM_KEYDOWN, OnKeydown },
{WM_DESTROY, OnDestroy },
{WM_CREATE, OnCreate },
{WM_NULL, 0}
};
WndProc에 스위치 케이스문 대신
stMsgMap *stpMap = MSGMAP;
while (WM_NULL != (*stpMap).uiMsg )
{
if (iMessage == (*stpMap).uiMsg)
{
return ( ( (*stpMap).fp ) ( hWnd, wParam, lParam) );
}
++stpMap;
}
요렿게 쌔팅 해주면 으흠 각 함수 안에다가 우리가 해야 할일들 넣어주면 끝
내일 할꺼 매핑 기법 ㅋㅋ