아래 그림은 CObject로부터 파생된 MFC 클래스들을 나타낸다.
아래 그림은 CWnd 및 CCmdTarget로부터 파생된 MFC 클래스들을 나타낸다.
아래 그림은 CObject로부터 파생되지 않은 MFC 클래스들을 나타낸다.
CTempApp::CTempApp() ------ App 클래스 변수가 전역변수로 선언되어있으므로 제일 먼저 생성자가 호출된다
CTempApp::InitInstance() ------ MFC 코드에 숨겨진 AfxWinMain함수에서 호출된다. (프로그램의 설정정보 로딩, 파라미터 처리등을 담당)
CTempDoc::CTempDoc(void) ------ InitInstance()에 의해 Document 객체가 제일먼저 생성된다
CMainFrame::CMainFrame(void)
CMainFrame::LoadFrame() ------ 윈도우가 생성된다
CMainFrame::PreCreateWindow()
CMainFrame::PreCreateWindow()
CMainFrame::OnCreate() ------ CMainFrame객체가 생성 및 윈도우가 생성되며 자동으로 WM_CREATE 메시지가 발생하여 호출된다
CMainFrame::OnCreateClient()
CTempView::CTempView() ------ OnCreateClient()에 의해 View 객체가 생성된다
CTempView::Create()
CTempView::PreCreateWindow()
CTempView::OnCreate()
CTempView::OnShowWindow() ------ 여기까지 진행하여 클라이언트 뷰를 생성하여 화면에 보여진다
CMainFrame::OnCreateClient() - Return
CMainFrame::OnCreate() - Return ------ 여기까지 해서 최종적으로 윈도우의 생성이 완료된다
CTempDoc::OnNewDocument() ------ 새 문서를 만든다
CTempView::OnInitialUpdate() ------ 새 문서를 만들거나 기존 문서를 열었다면 이 함수를 호출하여 화면 정리 및 적합한 내용을 화면에 표시한다
CMainFrame::OnActivateApp()
CMainFrame::OnActivate() ------ 응용 프로그램의 최상위 윈도우가 화면에 표시 및 활성화된다
CMainFrame::OnShowWindow()
CTempView::GetDocument()
CTempApp::Run() ------ 메시지 루프 돌입
------------------------------------------------------------------------------------ 여기까지가 실행 초기화
CMainFrame::OnClose() ------ 윈도우를 닫았을 대 WM_CLOSE 메시지에 의해 호출
CMainFrame::OnShowWindow()
CMainFrame::OnActivate()
CMainFrame::OnActivateApp()
CMainFrame::DestroyWindow() ------ OnClose()에 의해 호출된다
CMainFrame::OnDestroy()
CTempView::OnDestroy() ------ 메인 프레임의 WM_DESTROY 메시지는 자식인 View 객체에도 전달된다
CTempView::PostNcDestroy()
CTempView::~CTempView()
CMainFrame::OnNcDestroy()
CMainFrame::PostNcDestroy()
CMainFrame::~CMainFrame()
CMainFrame::OnNcDestroy() - Return
CTempDoc::~CTempDoc() ------ 모든 윈도우가 소멸되면 Document 객체도 소멸된다
CMainFrame::OnClose() - Return
CTempApp::ExitInstance()
CTempApp::Run() - Return