컴퓨터 공부/MFC 프로그래밍

[5월 13일 3교시] 윈도우즈 프로그래밍 2

려리군 2009. 5. 13. 11:10

CWinApp

윈도우 응용 프로그램 인스턴스

theApp를 통해 전역변수로 사용. 

반드시 있어야 함.

주요 메소드

실행순서 : WinMain() -> AfxWinMain() -> InitInstance() -> Run(), 메세지 루프 -> ExitInstance()

InitInstance

응용 프로그램 초기화

AfxGetApp() : CWinapp 객체의 포인터를 얻음.


CFrameWnd

CWnd에서 상속됨.

AfxGetMainWnd() : CFrameWnd 객체의 포인터를 얻음.

주요메소드

OnCreate()

OnCreateClient() : split window생성

PreCreateWindow() : 윈도우 스타일 변경

ActivateFrame()

EnableDocking()


CView

응용 프로그램에서 보여질 내용들을 그리는 클래스

Frame Window에 Child Window붙여진다.

응용 프로그램 데이터를 표현한다. (화면, 프린터)

(일반적으로)Document 클래스와 결합된다.

많은 자식 클래스들 존재

주요메소드

OnInitialUpdate()

 - view가 초기화면을 표시하기 전에 document가 처음으로 붙여질 때 프레임 워크에 의해 호출

OnDraw() : WM_PAINT(재정의 안했을 때)와 CDocument::UpdateAllViews에 의해 호출됨. 대부분의 그리는 일을 수행.

GetDocument() : CDocument 클래스 객체의 포인터를 얻음

OnUpdate() 

 - View 생성시 호출됨.

 - CDocument::UpdateAllViews에 의해 호출되며(OnDraw호출 안됨) 이 수정이 반영될 수 있도록 화면을 갱신하도록 한다.


CDocument

응용 프로그램 데이터 관리

View 클래스와 결합됨. (CView와 friend관계)

주요 메소드

OnNewDocument()

Serialize()

DeleteContents()

Document/View 구조

데이터/화면의 분리