본문 바로가기

Programming/MFC

[MFC] MFC의 정의와 사용법

MFC[Microsoft foundation class] 윈도우용 응용 프로그램의 통합 개발 환경인 마이크로소프트 비주얼C++에 부속되는 클래스 라이브러리,윈도우 응용 프로그램 작성에 유용한 많은 클래스를 제공한다.

기존에 사용했던 API의 GUI환경을 좀더 쉽게 사용하기 위한 라이브러리다.

C와 C++과는 달리 API는 이벤트 처리,메세지 처리 기반의 프로그램이다.

이러한 이유로 MFC역시 이벤트,메세지 처리 기반의 프로그램이다.

​새 프로그램을 생성할때 MFC응용프로그램을 생성한다.

일단 단일문서로 만들면된다.

단일문서는 고유의 작업환경 기반의 문서이다.

다중문서는 탭기반의 문서환경이고 대화상자기반은 버튼기반의 작업환경이라고 생각하면된다.

상황에 따라 다중문서와 대화상자 기반으로 사용하면된다.

문서/뷰 아키텍쳐 지원기능과 유니코드 라이브러리 사용기능은 해제 시킨다.

문서/뷰 아키텍쳐 지원기능을 사용해도 상관없으나 이기능은 MFC의 데이터 베이스를 처리해주는 기능 보다는 SQL이라던지 다른 DB의 기능을 처리해주는데 주로 사용한다.

 

​보기 힘들다..처음에는 뭔말인지 헤깔린다.

하지만 기억해놔야된다 MFC의 4대 기본요소이다.

각자 영역에서 상속받은 ​My App,MainFrm,ChildView,MyDoc 가 4대 기본요소이다.

하지만 MyDoc는 거의 사용을 안하기때문에 나머지 3개가 가장 핵심 기본요소이다.

My App : 프로젝트 이름,시작과 종료를 처리하는곳

MainFrm : 프레임~틀~정도로 생각하면된다.전체적인 틀

ChildView : 작업공간

MyDoc : 데이터

대충 이렇게 생각하면 될것이다.

우리가 가장 많은공간에 공을 들일곳은 ChildView이다.



API에서 사용했단 create와 paint를 사용하기 위해서 클래스를 호출 해야한다.

클래스 뷰에서 ChileView를 선택하여 속성에 들어가면

아래와 같은 속성창이 뜬다.


API에서 사용했던 함수를 선택하면WM-----가 아닌 ON-------함수가 만들어진다.

내가 만든게 아니고 MS에서 만든거기 때문에 이름가지고 해깔리더라도 MS에 항의하길 바라며..

WM_PAINT -> ON_PAINT 같다고 생각하면된다.


​API와 마찬가지로 DC를 불러오고 Rectangle을 불러오자.

DC를 각 함수들이 가지고있다고 생각하면 편하다.

HPen -> CPen으로 HBrush ->CBrush로 바꼈을뿐 API와 같다.

헤깔리더라도 앞으로 익숙해 지자.

'Programming > MFC' 카테고리의 다른 글

[MFC] 마우스 이벤트  (0) 2014.12.09