응용 프로그램 클래스의 성명과 주 함수 봉인

1) 애플리케이션 클래스에 대한 설명
만약 주 함수 중의 함수체를 하나의 대상으로 보고 그것을 응용 프로그램이라고 부른다면, 응용 프로그램 클래스인 CWinApp도 설명해야 한다.
이 프로그램에서 최소한 창 클래스의 대상 m 가 있어야 합니다pMainWnd는 클래스의 데이터 구성원입니다.또한 이 클래스에는 함수 구성원인 InitInstance와 Run도 있어야 한다.
함수 InitInstance에서 창 객체 만들기 mpMainWnd를 사용하고 창 클래스의 구성원 함수를 호출하여 등록, 생성, 표시 등 초기화 작업을 합니다.구성원 함수 Run으로 메시지 순환을 진행합니다.다음 코드는 애플리케이션 클래스 CWinApp의 주장입니다.
// 
BOOL CWinApp::InitInstance(int nCmdShow)
{
	m_pMainWnd=new CFrameWnd;
	m_pMainWnd->Create(lpszClassName," Windows "); // 
	m_pMainWnd->ShowWindow(nCmdShow);  // 
	m_pMainWnd->UpdateWindow();  // 
	return TRUE;
}

int CWinApp::Run()
{
	while(GetMessage(&msg,NULL,0,0))
	{
		TranslateMessage(&msg);
		DispatchMessage(&msg);
	}
	return msg.wParam;
}

 
2) 주함수는 응용 프로그램 클래스와 창 클래스를 봉하여 Windows 프로그램을 설계할 때 CWinApp 클래스로 전역 대상인 theApp을 정의할 수 있고 주함수의 함수체에서 CWinApp 대상인 theApp의 구성원 함수를 하나하나 호출할 수 있다.이렇게 하면 프로그램이 패키지화되면 다음과 같습니다.
// WinApp theApp
CWinApp theApp;

// 
int APIENTRY WinMain(HINSTANCE hInstance,
					 HINSTANCE hPrevInstance,
					 LPSTR lpCmdLine,
					 int nCmdShow)
{
	int ResultCode=-1;
	theApp.InitInstance(nCmdShow);
	return ResultCode=theApp.Run();
}

 
 
 

좋은 웹페이지 즐겨찾기