MFC 프로그래밍에서 가장중요하고 핵심적인 클래스들
CWinApp
CFrameWnd
CView
CDocument
이 네가지만 정확히 알고 있으면 기본적 골격을 파악할수있다.
[애플리케이션 클래스 : CWinApp]
애플리케이션 전체를 나타낸다. 인스턴스의 초기화, 메세지 루프 세팅.
CWinThread 로부터 상속을 받는다. 또한 CDocTemplete라는 도큐먼트템플릿을 가진다.
이넘은 CDocument,CView,CMainFrame객체와 리소스를 관리한다.
MFC에선 CWinApp는 하나만 만들어지고, global하다.
이 CWinApp에서 중요한 멤버함수는 InitInstance()함수이다. 즉 CWinApp의 기능중하나인
인스턴스의 초기화와 관련된 함수이며, 인스턴스를 실행할때 초기화 내용을 입력하게 된다.
[프레임윈도우클래스 : CFrameWnd]
이넘은 애플리케이션의 메인윈도우격이다.
윈도우에서 최대화,최소화버튼이나 상태바등의 일체것들을 컨트롤 한다.
프레임윈도우는 자동으로 크기를 결정하는데, CFrameWnd클래스에서 상속받은 클래스는 SDI로 작동한다.
만약에 MDI로 쓸려면, CMDIFrameWnd로 상속을 받아야된다.
이 CFrameWnd는 CCmdTarget 에서 상속을 받는다.
[뷰 윈도우 클래스 : CView]
APP의 클라이언트영역을 표현하고, 도큐먼트클래스 정보를 표현한다.
키보드나 마우스이벤트들을 여기서 처리한다.
중요한 멤버함수로는 OnDraw()가 있다. 이넘은 화면을 다시 그릴때 불려지게 된다.
[도큐먼트 클래스 : CDocument]
데이터set을 가지고 있어서 이를 조작하는 기능이 있고, 저장매체에서 데이터를 읽고 쓰는데 기능을 한다.
[도큐먼트템플릿클래스 : CDocTemplete]
이넘은 CFrameWnd, CView,CDocument,CWinApp 리소스를 묶는 역할을 한다.