[5월 13일 3교시] 윈도우즈 프로그래밍 2
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 구조
데이터/화면의 분리