본문 바로가기

프로그래밍/VC/VC.NET/Cs

MFC App 클래스

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 리소스를 묶는 역할을 한다.