# MFC(Microsoft Foundation Class)란?
VC++이란 Visual C++의 줄임말로써 C++언어로 비주얼적인 프로그램을 작성할 수 있도록 된 언어의 일종이다.
MFC은 Microsoft Foundation Class의 약어로써 마이크로소프트사에서 윈도우에서 응용프로그램을 제작하라고
제공해주는 잘 설계된 C++ 클래스 라이브러리의 집합이다.
윈도우는 도스와 같은 텍스트 기반의 운영체제와는 달리 GUI(Graphic User Interface)를 제공해준다.
■ 예제 작성
비주얼스튜디오를 사용하여 MFC응용프로그램을 개발할 경우 일반적으로 백지에서 코딩하는 경우는 거의 없다.
MFC 응용프로그램 마법사를 사용하면 프로젝트 템플릿을 제공받기에 프로그래머는 별다른 코딩을 하지 않더라도
가장 기본적인 윈도우 구조의 응용 프로그램을 위한 코드가 자동으로 생성된다.
비주얼스튜디오를 사용해서 작성하는 MFC프로그램은 크게 다중문서,단일문서,대화상자 기반 형태로 나눌수 있다.
■ VC++ 구조 파악
솔루션 탐색기 : MFC 응용 프로그램 마법사가 생성해준 파일들을 찾기 쉽게 하기 위해서 리소스,소스,헤더 3종류로
나누어서 보여준다.
클래스 뷰 : 논리적인 클래스의 관계를 보여준다.
■ AFX(Application Framework)
MFC 응용 프로그램의 기본 골격을 이루는데 절대적인 역할을 하는 클래스를 AFX클래스라고 하는데,
CWinApp, CDocument, CFramework, CView 4개의 클래스로 구성된다.
※ First로 예제를 작성한 경우
- 메인 프레임 윈도우 클래스(CMainFrame : CFrameWnd)
사용자로 하여금 윈도우 응용 프로그램이라고 느낄 수 있는 기본적인 틀 형태를 제공해주는 클래스로서 제목줄,
메뉴, 툴바, 상태바, 뷰 등 여러가지 자식 윈도우로 구성된다.
- 도큐먼트 클래스(CFirstDoc : CDocument)
뷰에 출력될 데이터를 내부적으로 저장하고 관리하는 영역으로 우리가 볼 수는 없다.
- 뷰 클래스(CFirstView : CView)
사용자와의 인터페이스를 위해서 사용되는 영역으로 실질적으로 응용 프로그램의 결과를 출력해주는 영역으로
CDocument 클래스가 관리하는 데이터들을 시각적으로 보여주는 역할을 한다.
- 응용 프로그램 클래스(CFirstApp : CwinApp)
MFC 프로그램은 응용 프로그램 클래스가 전역 변수로 선언되어 이 클래스가 객체가 되면서 프로그램이 실행.
CFirstApp는 CWinApp에서 파생되어서 프로그램의 시작과 종료를 담당한다.
CFirstApp가 전역변수로 생성되자마자 CWinApp의 멤버 함수를 오버라이딩해 놓은 InitInstance()함수를 호출,
CFirstApp의 InitInstance() 멤버 함수에서는 도큐먼트 클래스, 메인 프레임 클래스, 뷰 클래스를 생성한다.
MFC 응용 프로그램은 하나의 도큐먼트 템플릿 클래스(CDocTemplate)를 등록하는데 이는 MFC로 프로그램을
작성하는데 기본이 되는 도큐먼트 클래스, 프레임 클래스, 뷰 클래스, 리소스들을 하나로 묶어주고 관리한다.
도큐먼트 템플릿 객체를 생성하여 CWinApp 클래스의 파생클래스에 등록하는 작업을 InitInstance()함수에서 한다.
AFX 클래스는 크게 육안으로 식별할 수 있는 클래스(메인프레임 윈도우,뷰)와 내부적으로 특정 기능만을 수행하는
클래스(응용 프로그램, 도큐먼트)로 나뉜다. 육안으로 확인할 수 있닌 클래스들은 모두 CWnd 클래스로부터 파생된
클래스이다. CWnd클래스는 윈도우 처리를 위한 기본 기능을 제공해준다.
CFrameWnd,CView클래스가 CWnd클래스에서 파생되었기에 육안으로 확인할 수 있는 형태로 제공된다.
VC++이란 Visual C++의 줄임말로써 C++언어로 비주얼적인 프로그램을 작성할 수 있도록 된 언어의 일종이다.
MFC은 Microsoft Foundation Class의 약어로써 마이크로소프트사에서 윈도우에서 응용프로그램을 제작하라고
제공해주는 잘 설계된 C++ 클래스 라이브러리의 집합이다.
윈도우는 도스와 같은 텍스트 기반의 운영체제와는 달리 GUI(Graphic User Interface)를 제공해준다.
■ 예제 작성
비주얼스튜디오를 사용하여 MFC응용프로그램을 개발할 경우 일반적으로 백지에서 코딩하는 경우는 거의 없다.
MFC 응용프로그램 마법사를 사용하면 프로젝트 템플릿을 제공받기에 프로그래머는 별다른 코딩을 하지 않더라도
가장 기본적인 윈도우 구조의 응용 프로그램을 위한 코드가 자동으로 생성된다.
비주얼스튜디오를 사용해서 작성하는 MFC프로그램은 크게 다중문서,단일문서,대화상자 기반 형태로 나눌수 있다.
■ VC++ 구조 파악
솔루션 탐색기 : MFC 응용 프로그램 마법사가 생성해준 파일들을 찾기 쉽게 하기 위해서 리소스,소스,헤더 3종류로
나누어서 보여준다.
클래스 뷰 : 논리적인 클래스의 관계를 보여준다.
■ AFX(Application Framework)
MFC 응용 프로그램의 기본 골격을 이루는데 절대적인 역할을 하는 클래스를 AFX클래스라고 하는데,
CWinApp, CDocument, CFramework, CView 4개의 클래스로 구성된다.
※ First로 예제를 작성한 경우
- 메인 프레임 윈도우 클래스(CMainFrame : CFrameWnd)
사용자로 하여금 윈도우 응용 프로그램이라고 느낄 수 있는 기본적인 틀 형태를 제공해주는 클래스로서 제목줄,
메뉴, 툴바, 상태바, 뷰 등 여러가지 자식 윈도우로 구성된다.
- 도큐먼트 클래스(CFirstDoc : CDocument)
뷰에 출력될 데이터를 내부적으로 저장하고 관리하는 영역으로 우리가 볼 수는 없다.
- 뷰 클래스(CFirstView : CView)
사용자와의 인터페이스를 위해서 사용되는 영역으로 실질적으로 응용 프로그램의 결과를 출력해주는 영역으로
CDocument 클래스가 관리하는 데이터들을 시각적으로 보여주는 역할을 한다.
- 응용 프로그램 클래스(CFirstApp : CwinApp)
MFC 프로그램은 응용 프로그램 클래스가 전역 변수로 선언되어 이 클래스가 객체가 되면서 프로그램이 실행.
CFirstApp는 CWinApp에서 파생되어서 프로그램의 시작과 종료를 담당한다.
CFirstApp가 전역변수로 생성되자마자 CWinApp의 멤버 함수를 오버라이딩해 놓은 InitInstance()함수를 호출,
CFirstApp의 InitInstance() 멤버 함수에서는 도큐먼트 클래스, 메인 프레임 클래스, 뷰 클래스를 생성한다.
MFC 응용 프로그램은 하나의 도큐먼트 템플릿 클래스(CDocTemplate)를 등록하는데 이는 MFC로 프로그램을
작성하는데 기본이 되는 도큐먼트 클래스, 프레임 클래스, 뷰 클래스, 리소스들을 하나로 묶어주고 관리한다.
도큐먼트 템플릿 객체를 생성하여 CWinApp 클래스의 파생클래스에 등록하는 작업을 InitInstance()함수에서 한다.
AFX 클래스는 크게 육안으로 식별할 수 있는 클래스(메인프레임 윈도우,뷰)와 내부적으로 특정 기능만을 수행하는
클래스(응용 프로그램, 도큐먼트)로 나뉜다. 육안으로 확인할 수 있닌 클래스들은 모두 CWnd 클래스로부터 파생된
클래스이다. CWnd클래스는 윈도우 처리를 위한 기본 기능을 제공해준다.
CFrameWnd,CView클래스가 CWnd클래스에서 파생되었기에 육안으로 확인할 수 있는 형태로 제공된다.
'프로그래밍 > MFC' 카테고리의 다른 글
MFC :: 더블 버퍼링(Double Buffring) (0) | 2010.10.08 |
---|---|
TIP :: CHAR ↔ TCHAR 변환 함수 (0) | 2010.10.01 |
MFC :: 마우스 입력 처리 (0) | 2010.09.22 |
MFC :: 키보드 입력 처리 (0) | 2010.09.22 |
MFC :: VisualC++ Lecture & Tip 문서 (0) | 2010.09.22 |
댓글 로드 중…