본문 바로가기

C#, C++

SDI(Single Document Inteface)패턴을 활용한 영상처리 MFC프로그램 개발 튜토리얼 (1) - 프로젝트생성

PC를 사용하는 대부분의 사람들은 Windows 운영체제를 사용한다.

우리는 윈도우를 사용하면서 특정한 목적을 위해서 많은 프로그램을 활용하는데 이를 윈도우 애플리케이션 이라고 부른다.

윈도우 프로그램은 다양한 언어와 플랫폼을 활용해서 구현할 수 있다.

대표적으로 아래와 같은 방법들이 있다.

C : Win32 API

C++ : MFC

C# : WPF

Python : Tkinter, Pyside

Java : Swing

최근에는 C#을 많이 사용하고, 비교적으로 오래됐기는 하지만 MFC와 Win32API도 빈번하게 사용된다.

Pyhon과 Java등에서도 개발이 가능하지만, 대부분의 윈도우 애플리케이션 개발은 C계열 언어를 사용한다.

우리가 사용하고있는 메모장, 엑셀, 파일탐색기 등의 대부분 Windows 프로그램은 WPF, Win32 API, MFC가

결합되어서 구현 된 프로그램이다.

 

이번에는 이 중에서 MFC를 활용하여 SDI(Single Document Interface)패턴을 통해서 간단한 프로그램을 만들어보려고 한다.

준비물은 Visual Studio와 MFC가 깔려있어야 한다. MFC의 설치는 자동으로 수행되지 않고 Installer를 통해 설치할 때

MFC관련 개별구성요소를 추가해서 설치해야한다.

나는 Visual Studio 2019를 사용해서 진행하지만, MFC의 설정 및 사용은 대부분 버전이 비슷하므로 어떤 버전을 사용해도

상관은 없다. 가장먼저 MFC프로젝트를 생성해보자.

 

1. 프로젝트생성 -> MFC앱을 선택한다.

 

 



2. 다양한 기본 옵션들이 선택되어 있지만, 이런것들이 추가 된 상태로 프로젝트가 만들어지면 뭐가 뭔지 구별하기가 힘들다. 학습을 위해서라도 모든 기본옵션들을 해제하자.

단일문서 , 문서/뷰 아키텍처 지원
최소,최대화 상자 + 시스템메뉴 + 클래식메뉴
고급기능 전체 해제
App클래스

 

 

이렇게 해서 프로젝트를 생성 하면, 소스파일에는 Document , View,  App, MainFrame 4개의 소스코드가 생성된다.

 

 

 

프로그램을 실행해보면 이렇게 아무것도 포함되지 않은 MainFrame이 출력된다.

2강에서 이야기 하겠지만, 지금 이 창은 CWinApp이 MainFrame + Document + View을 하나로 묶어서 실행시킨 결과물이다. 이 요소들이 각각 무엇을 의미하는지 차례대로 설명해 가겠다.