728x90
300x250

[MFC] 윈도우 프로그래밍 기초 - 강좌 소개

 

이 강의는 아마도 제 생각엔 지금 2015년 기준에서 최신의 Visual Studio 2013 기반 C++ MFC 글이 될 수 있을 거 같습니다.

 


1. 제작 배경

 

주인장이 참으로 친절하게 일일이 Visual Studio 2008 책부터 구글링까지 다 동원해가면서 제작하고 있습니다.

나름대로 생각해보고 또 생각해서 다양한 정보들을 여러 참조해서 지구상에서 제일 쉬운 MFC 글을 만들어 보고 싶어서 기획했습니다. 

 


2. 흐름은

 

1. Win32 프로그래밍의 이해 (원리만)

-> 우리는 직접 노가다 하면서 Win32 프로그래밍은 하지 않습니다.

     MFC라는 게 Win32 프로그래밍을 기반으로 하고 있기에 잠시 체험(Experience)용으로? 만들었다고 생각하시면 됩니다.

2. MFC 개념 이해

    -> MFC 계층도 소개

    -> 몇개 이론 및 실습

3. 메시지 출력

4. 기본 컨트롤 익숙해지기

5. 필수 대화상자 몇개 다뤄보기.

6. 공통 컨트롤

7. 그리기 도구(GDI)

8. 라이브러리 작성법

-> 동적(Dynamic), 정적(Static) 둘 다 실습

9. 멀티스레드

10. 프로세스 통신(IPC)

 

이 정도까지 강좌를 만들어볼 계획입니다.

 

그러나 시간적인 한계도 있을 수 있기에 몇 가지는 생략될 수도 있습니다.

 


3. 실습 환경은?


Visual Studio 2013 Update 4 기준으로 작성했습니다.

 


4. MFC와 Windows API의 차이

 

번호

항목명

설명(Description)

1

MFC

 

MFC(Microsoft Foundation Class)는 Win32를 통해 C++ 개체 지향 래퍼를 제공하여 네이티브 데스크톱 응용 프로그램을 신속하게 개발할 수 있습니다. ATL(액티브 템플릿 라이브러리)은 COM 개발을 간단하게 하는 래퍼 라이브러리이며 ActiveX 컨트롤을 만드는 데 광범위하게 사용됩니다.

Visual Studio Community Edition 이상을 사용하여 MFC 또는 ATL 프로그램을 만들 수 있습니다.

Express 버전은 MFC 또는 ATL을 지원하지 않습니다.

Visual Studio 2015에서 Visual C++는 선택적 구성 요소이며 MFC와 ATL 구성 요소는 Visual C++ 아래의 선택적 하위 구성 요소입니다.

Visual Studio를 처음 설치할 때 이러한 구성 요소를 선택하지 않으면 처음으로 MFC 또는 ATL 프로젝트를 만들거나 열려고 할 때 설치하라는 메시지가 표시됩니다. 

Windows API


비공식 WinAPI 인 Windows API는 Microsoft Windows 운영 체제에서 사용할 수있는 Microsoft의 핵심 API (Application Programming Interface) 집합입니다.

이름 Windows API는 일반적으로 자체 이름(예: Win32 API)으로 참조되는 여러 가지 다른 플랫폼 구현을 집합 적으로 나타냅니다. 버전 섹션을 참조하십시오.

거의 모든 Windows 프로그램은 Windows API와 상호 작용합니다.
Windows NT 계열의 운영 체제에서는 Windows 시작 프로세스 초기에 시작된 프로그램과 같이 작은 숫자가
기본 API를 사용합니다.

개발자 지원은 소프트웨어 개발 키트 인 Microsoft Windows SDK의 형태로 제공되며 Windows API 및 관련 Windows 인터페이스를 기반으로 소프트웨어를 작성하는 데 필요한 설명서와 도구를 제공합니다.

Windows API (Win32)는 주로 프로그래밍 언어 C에 초점을두고 있습니다.
C#의 노출 된 함수와 데이터 구조는 최신 버전의 문서에서 해당 언어로 기술되어 있습니다.

그러나 API는 호출 및 콜백에 대한 규정 된 호출 규칙과 함께 (잘 정의 된) 저수준 데이터 구조를
처리 할 수있는 모든 프로그래밍 언어 컴파일러 또는 어셈블러에서 사용할 수 있습니다.
마찬가지로, API 함수의 내부 구현은 역사적으로 여러 언어로 개발되었습니다.

C는 객체 지향 프로그래밍 언어가 아니지만 Windows API와 Windows는 역사적으로 객체 지향으로

설명되었습니다.

 

MFC (Microsoft Foundation Class Library), VCL (Visual Component Library), GDI + 등이 객체지향 구조를
보다 명확하게 만드는 객체 지향 언어에 대한 많은 래퍼 클래스 및 확장 (Microsoft 및 기타)
.
예를 들어 Windows 8은 Windows API와 WinRT API를 제공합니다.이 API는 C++로 구현되며 디자인에 의해

객체지향적입니다

 

가장 정확한 정보는 아래의 링크에 접속하면 API 기능에 대해서 자세히 찾아볼 수 있습니다.

1. https://docs.microsoft.com/ko-kr/windows/desktop/apiindex/windows-api-list

 

MFC에 대한 정보입니다. 아래의 링크에 접속하면 자세히 찾아볼 수 있습니다.

https://msdn.microsoft.com/ko-kr/library/65dtx4a4.aspx

 


6. 참고자료(Reference)

 

1. MFC 개념, 마이크로소프트, https://msdn.microsoft.com/ko-kr/library/kkcb3t0w.aspx

2. Windows API Index, , 마이크로소프트, https://docs.microsoft.com/ko-kr/windows/desktop/apiindex/windows-api-list

3. Windows API Index, , 마이크로소프트, https://msdn.microsoft.com/ko-kr/library/65dtx4a4.aspx

4. MFC 데스크톱 응용 프로그램, 마이크로소프트, https://msdn.microsoft.com/ko-kr/library/d06h2x6e.aspx

반응형

+ Recent posts