주요구조(3가지)
더보기
- 대화상자 기반(Dialog Based)
- 단일 문서(SDI)
- 다중 문서(MDI)
1. 대화상자 기반(Dialog Based)
1) 전체 구조
CWinApp
└─ CDialogEx (메인 UI)
2) 특징
- 가장 단순함
- UI 중심(버튼, 입력창 등)
- 이벤트 기반 처리
3) 코드 구조
class CMyDlg : public CDialogEx
4) 장점
- 빠르고, 단순함
5) 단점
- 확장성 낮음
- 대규모 프로젝트에는 부적합함
2. 단일 문서(SDI, Single Document Interface)
1) 전체 구조
CWinApp
└─ CFrameWnd (메인 창)
└─ CView (화면)
└─ CDocument (데이터)
> View / Document / Frame 으로 각 역할이 나눠져있는 것이 핵심
2) 특징
- 한 개 문서만 처리
- 그림판같은 구조
3) 장점
- 구조 깔끔
- 유지보수 좋음
4) 단점
- 장비 UI로 쓰기에는 과함
- 구조가 복잡함
3. 다중 문서(MDI, Multiple Document Interface)
1) 전체 구조
CWinApp
└─ CMDIFrameWnd
├─ CMDIChildWnd
│ └─ CView
│ └─ CDocument
> 단일 문서와 다르게 메인 프레임(MainFrame) 기준으로 여러 프레임(ChildFrame)이 존재
2) 특징
- 여러 창이 동시에 열리고, 동시에 사용 가능함
- 각 프레임마다 Document가 있음
3) 장점
- 확장성이 좋음
- 대형 및 복잡한 프로그램에 적함
4) 단점
- 구조가 매우 복잡함
- 구현 난이도 매우 높음
4. 정리
| 구조 | 난이도 | 특징 | 사용처 |
| Dialog | ★ | 단순 UI | 장비, 툴 |
| SDI | ★ ★ ★ | 문서 1개 | 간단 앱 |
| MDI | ★ ★ ★ ★ ★ | 문서 여러개 | 대형 앱 |
'FRAMEWORK > MFC' 카테고리의 다른 글
| MFC : 동작 구조에 대하여 (0) | 2026.04.21 |
|---|---|
| MFC : Dialog에 대하여 (0) | 2026.04.21 |
