Basic DialogBox(메인창을 다이얼로그박스로 띄우기)
Win32를 작성하기위한 기본적인 틀을 만들어 보기로 하겠다.
단순히 메인창을 다이얼로그박스로 띄울 뿐이다.
파일 생성은 다음과 같다.
step 01. VS 2008 >> 새 프로젝트 step 02. Visual C++ >> Win32 >> Win32 프로젝트 step 03. ((이름과 위치는 원하는 것으로 설정 하고 확인)) == Win32 응용프로그램 마법사 대화상자가 활성화== step 04. 응용프로그램 설정단계에서 빈 프로젝트 체크박스 체크 step 05. 마침 (솔루션에는 아무런 파일도 존재하지 않는다) == 솔루션 탐색기의 프로젝트와 리소스, 소스, 헤더 파일이라는 폴더가 활성화 == step 06. 프로젝트에서 리소스를 추가한다. step 07. ID값을 IDD_DIALOG_MAIN로 변경 step 08. 프로젝트에서 새항목을 추가한다.(단순히 Basic.cpp로 만들었다) <결과> 솔루션 탐색기에 다음과 같이 파일이 정리 된다. step 09. Basic.cpp에 코드를 작성한다. 코드는 다음과 같다. |
// Basic.cpp INT_PTR WINAPI MainDlgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam); int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpszCmdParam, int nCmdShow) return 0; // DialogBox Procedure case WM_COMMAND : return FALSE; |
참고:
SetDlgMsgResult :
Window Procedure(WindProc)지 크래커로는 HANDLE_MSG 매크로가 존재한다.
하지만 DialogBox에서는 이 매크로를 사용하기에는 적절하지 않다.
DlgProc는 WindProc과는 달리 LRESULT 대신 BOOL 값을 반환하게 된다.
그래서 HANDLE_MSG가 아닌 SetDlgMsgResult를 사용하였다.
사실.... 이렇게 짧은 코드에서는 필요하지 않으나... 기본 틀로 작성한것이다.