- mfc 구조설명
#1. CFrameWnd
-> 윈도우의 외곽 경계를 담당
-> 메뉴, 툴바, 상태바를 가지고 있음
#2. CVIew
-> 실제 화면 처리를 담당
-> 문자 출력, 그래픽 출력 등
#3. CDocument
->디스크에서 데이터를 읽고 저장
여기까지 MFC 이론에 대해서 살짝 정리를 해보았고,
다음은 MFC 계층 구조이다.
계층 구조
#1. CObject 클래스(최상위 클래스)
메모리에 클래스를 설정하는 기능
클래스를 할당하기 위해 new 연산자가 오버로딩 된다.
/MFC/Include/Afx.h에 설정
클래스의 기능과 종류를 알 수 있는 함수가 있다.
- IsSerializable() : 현재 클래스가 데이터를 디스크에 저장할 수 있는 기능을 자지고 있는지 없는지를 확인하는 함수
- AssertValid( ) : 현재 클래스가 유효한 클래스인가를 확인하는 함수
- Dump() : 현재 클래스의 상태를 확인하는 함수
디버깅할 때 이 함수를 이용하여 데이터의 상태를 확인하고 오류를 정리할 수 있음
#2. CCmdTarget클래스
메시지 전송을 담당하는 클래스
실질적으로 메시지를 처리하는 것이 아니라WM_COMMAND와 OLE 메시지만 담당
#3. CWnd 클래스
화면에 보이는 윈도우들은 모두 CWnd 에서 상속 받음
가장 많이 사용되는 클래스
윈도우의 최상위 클래스
상속해서 사용하지 직접 CWnd 클래스를 사용하지는 않는다.
#4. CWndThread 클래스
윈도우가 스레드로 돌아갈 수 있도록 구동 되는 클래스
- 스레드는 독립적인 형태로 구동 되는 하나의 모듈
한 개의 프로그램을 독립적으로 움직이려면 한 개의 프로그램은 한 개 이상의 CWinThread를 포함해야 한다
- Multi-tasking이 가능
#5. CWndApp 클래스
한 개의 프로그램을 포함하고 관장하는 클래스
#6. CDocument 클래스
데이터를 디스크에서 읽어 들이거나 디스크에 저장하는 부분을 담당하는 클래스
주로 알고리즘을 저장
나중에 다른 프로그램에서 재사용이 용이
#7. CWnd를 상속 받은 기타 클래스
CFrameWnd : 프레임 형태의 윈도우
CControlBar : 컨트롤바
CPrepertySheet : 프로퍼티 시트
CDialog : 대화 상자
CView : View 윈도우
Control Class : 각종 컨트롤들
## 자주 하는 실수
- 기본기능으로 때우려고함
## 큐
- 어차피 헷갈리니 자주보고쓰자
## 내가 모르는 것
- mfc구조설명
## 일정
- 14:00 ~ 15:00 : 운동
- 15:00 ~ 16:00 : 운동
- 17:00 ~ 18:00 : 공부, 영상1업로드
- 18:00 ~ 19:00 : 공부, 영상2업로드
- 19:00 ~ 20:00 : 공부, 영상3업로드
- 20:00 ~ 21:00 : 공부
- 21:00 ~ 22:00 : 공부
'공부기록' 카테고리의 다른 글
공부기록, 2021-09-30(mfc drawtext) (0) | 2021.09.30 |
---|---|
공부기록, 2021-09-28(mfc 구조설명2) (0) | 2021.09.28 |
공부기록, 2021-09-24(mfc 전역함수) (0) | 2021.09.24 |
공부기록, 2021-09-23(mfc 구조) (0) | 2021.09.23 |
공부기록, 2021-09-17(sql 용어7) (0) | 2021.09.17 |