MFC - 계층적 구조 형태, 계층도 (MFC Application Architecture)

2011. 3. 28. 01:47카테고리 없음





1. CObject 클래스 (최상위 클래스)

- 메모리에 클래스를 설정하는 기능
- /VC/atlmfc/include/Afx.h에 설정
- 직렬화(Serialization)의 지원 : 현재 클래스의 객체가 디스크에 저장 가능하도록 지원, 저장 유무확인
- Run-time 클래스 정보 : 현재 클래스 상태 확인하고 오류 정리 가능
- 클래스가 유효한 클래스인가를 검사

2. CCmdTarget 클래스

- 윈도우 프로시져(WndProc()함수)의 switch case문을 대체하고자 도입된 MFC 구조
- Message Map과 관련된 코드가 구현된 클래스

3. CWnd 클래스

- 화면에 보이는 윈도우들은 모두 CWnd에서 상속 받음
- 가장 많이 사용되는 클래스
- 윈도우의 최상위 클래스
- 상속해서 사용하지 직접 CWnd 클래스를 사용하지는 않음
- View클래스, Frame클래스, Dialog클래스 등이 CWnd클래스를 상속받은 것임

4. CWinThread 클래스

- 윈도가 스레드로 돌아갈 수 있도록 구동되는 클래스 (스레드는 독립적인 형태로 구동되는 하나의 모듈)
- 한 개의 프로그램을 독립적으로 움직이려면 한 개의 프로그램은 한 개 이상의 CWinThread를 포함해야 한다.
  (Multi-tasking이 가능)

5. CWinApp 클래스

- 한 개의 프로그램을 포함하고 관장하는 클래스
- 응용 프로그램 자체를 객체화한 클래스 (이로부터 객체가 만들어 졌다는 것은 프로그램이 하나 만들어 진것으로 생각 할 수 있다.)

6. CDocument 클래스

- 데이터를 저장하고 제어하는 클래스
- 디스크에 대한 입출력을 제공하므로 데이터 입출력에 관한 내용은 이 클래스를 사용

7. CView 클래스

- 윈도우의 클라이언트 영역을 정의하는 Base 클래스
- 클라이언트 영역으로 들어오는 메시지 처리

8. CDialog 클래스

- 모든 대화상자의 기본이 되는 클래스