서브메뉴

본문

Visual C 2010 MFC Programming (단계별로 쉽게 배우는)
Visual C 2010 MFC Programming (단계별로 쉽게 배우는)
저자 : 정일홍
출판사 : 생능출판사
출판년 : 2013
ISBN : 9788970507439

책소개

C또는 C++언어를 배우고 처음으로 Visual C++ 2010을 이용하여 윈도우 애플리케이션을 만드는 방법을 익히기 위한 『Visual C 2010 MFC Programming』. 실습 예제의 단계를 따라가면서 다양한 실습을 직접 할 수 있도록 구성되어 있다. 문제 해결 중심의 실습 위주로 다양하고 필요한 내용만을 선택하여 쉽게 구성하였다.
[교보문고에서 제공한 정보입니다.]

출판사 서평

상세하고 알기 쉽게 설명한 체계적인 입문서

저자는 대학 강단에서 학생들에게 Visual C++를 10년 이상 가르치고 있다. 그러면서 느낀 점은 Visual C++를 이용하여 윈도우 프로그램을 작성하는 방법을 강의할 때 기초에서 고급기술에 이르기까지 전반적인 내용을 상세하고 알기 쉽게 설명한 체계적인 교재가 부족하다는 것이었다. 기존의 Visual C++ 책들은 방대한 MFC의 내용을 설명하고 많은 실습 예제들을 수록하였으나, 실습 예제를 작성하는 방법에 대해 단계별로 자세히 설명하지 않아서 처음 Visual C++를 접하는 대부분의 학생들이 매우 고생하고 있다. 따라서 처음으로 Visual C++를 접하는 대학 초년생, 그리고 몇 번 Visual C++ 책과 씨름하였으나 아직도 윈도우 프로그램을 작성하는 데 문제가 있는 학생들을 위해 실습을 중심으로 단계별로 따라하며 자연스럽게 MFC를 배울 수 있는 가장 쉬운 Visual C++ 2010 입문서가 되도록 집필하였다.

기존의 Visual C++ 입문서와의 차별화된 특징

- 이 책은 기본적인 C 또는 C++의 문법적 내용을 수록하지 않았다. 대신 Visual C++ 2010을 사용하여 윈도우 프로그래밍을 하는 방법을 알기 쉽게 수록하고 있다. 따라서 이 책을 보기 위해서는 C/C++의 기본적인 지식이 필요하다.
- 컴퓨터의 조작 시 표시되는 실제 화면을 그대로 수록하고 장문의 설명을 탈피하여 아주 일반적인 컴퓨터 조작 능력만 있으면 실습 예제의 단계를 따라가면서 다양한 실습을 직접 해보고 그 결과를 완전히 자기 것으로 만든 후에 다음 단계로 진행되도록 구성하였다.
- Visual C++ 2010을 사용하여 프로젝트를 작성하는 데 장문의 설명 중심의 나열식이 아닌 문제 해결 중심의 실습 위주로 다양하고 필요한 내용만을 선택하여 쉽게 구성하였다. 이러한 간단한 설명과 실습 방법이 독특하고 실용적이기에 C 또는 C++ 언어를 배우고 처음으로 Visual C++ 2010을 이용하여 윈도우 애플리케이션을 만드는 방법을 익히기 위한 학생들에게는 최고의 입문서가 될 것이다.
- 대학에서 이 책을 교재로 하여 한 학기 강의를 할 경우 중간고사와 기말고사를 제외한 14주에 한 단원씩 완성할 수 있도록 구성하였으며, 각 단원 마지막 부분에는 연습 문제를 두어 본인 스스로 실습과제를 통해 배운 내용을 다시 한 번 확인할 수 있는 기회를 제공하였다.

이 책의 내용

1장 '윈도우 프로그래밍의 이해'에서는 윈도우 프로그래밍의 기본 개념과 Win32 SDK를 이용하여 윈도우 프로그램을 작성하는 방법에 대해 설명한다. 그리고 윈도우 프로그램의 기본 형식에 대해 자세히 알아본다. Win32 SDK를 이용한 윈도우 프로그램의 기본구조를 이해하면 MFC를 사용하여 윈도우 프로그래밍을 작성하는 데 많은 도움이 될 것이다. 2장 'MFC 개요 및 아키텍처'에서는 MFC의 기본적인 개요와 MFC의 아키텍처에 대해 상세히 설명한다. MFC가 무엇이며, 어떤 계층적 구조를 가지고 있으며, 어떻게 사용되는지에 대해 설명한다. 또한 MFC 응용 프로그램 마법사 사용법에 대해 설명하고, MFC 응용 프로그램 마법사를 사용하여 MFC 프로젝트를 만드는 방법에 대해서 알아본다. 3장 '메시지 처리'에서는 윈도우 프로그래밍에서 가장 중요한 개념 중의 하나인 메시지 처리에 대해 상세히 기술한다. MFC가 메시지를 처리하는 방법에 대해 설명하고, 클래스 마법사를 사용하여 메시지에 대응하는 메시지 핸들러 함수와 맵핑시키는 방법에 대해 자세히 살펴본다.
4장 '대화상자'에서는 MFC에서 제공하는 공용 대화상자와 사용자가 직접 대화상자 기반의 프로그램을 구현함으로써, 윈도우 프로그래밍 방식에서 대화상자가 동작하는 원리와 대화상자에서 사용되는 기본적인 표준 컨트롤의 사용법에 대해 주로 알아본다. 공용 대화상자는 파일 입출력 또는 컬러 대화상자 등을 출력하는 대화상자 클래스로서 MFC에서 제공하는 클래스이다. 5장 '사용자 인터페이스'에서는 사용자 인터페이스인 메뉴, 툴바, 상태 표시줄, 도킹 팬 윈도우에 대해 설명하고, 이것들을 만드는 방법에 대해서 자세히 살펴본다. 6장 '그래픽 객체의 사용'에서는 그래픽 출력에 대한 개념과 그래픽을 출력하는 방법에 대해 상세히 기술한다. GDI와 DC의 개념, GDI 객체에 대해 설명하고 GDI 객체를 사용하여 그래픽을 출력하는 방법과 GDI+ 객체를 사용하여 그래픽을 출력하는 방법에 대해서 자세히 살펴본다.
7장 '컨트롤 및 리소스 Ⅰ'에서는 사용자 인터페이스를 구성하는 데 있어서 메뉴와 툴바 이외에 사용되는 여러 가지 컨트롤들에 대해 배운다. 컨트롤은 사용자가 프로그램을 편리하게 사용할 수 있게 도와줄 뿐만 아니라, 프로그램 내의 정보를 확실하게 분류함으로써 프로그램을 보다 빠르게 이해할 수 있게 도움을 준다. 또한 컨트롤들을 이용함으로써 보다 사용자에게 익숙한 환경을 제공한다. 이 장에서는 컨트롤 중에서도 그 기능이 우수한 List Control과 Tree Control에 대해 공부한다. List Control과 Tree Control은 프로그램 내의 정보를 특정 기준에 따라 분류할 수 있게 해 준다. 8장 '컨트롤 및 리소스 Ⅱ'에서는 7장에서 배운 컨트롤 이외에 자주 사용되고 윈도우에서 흔히 볼 수 있는 여러 가지 컨트롤들에 대해 배운다. 컨트롤들에 대해 많은 지식을 가지고 있는 개발자라면 보다 향상된 인터페이스를 구성할 수 있으며 이에 따라 프로그램의 사용을 편리하게 할 수 있다. 모든 소프트웨어가 그렇지만 내부적인 구성뿐만 아니라 인터페이스의 구성을 어떻게 하느냐에 따라 사용자의 반응이 전혀 달라질 수 있기 때문에 여러 가지 컨트롤들을 접해보는 것이 중요하다. 여기서는 정보를 분류하고자 할 때 사용되는 Tab Control, 마우스를 통해 일정 범위 안의 값을 입력하는 Slider Control, 간단한 동영상 재생에 사용되는 Animation Control, 세밀한 제어라든지 일정 값을 입력하는 Spin Control, 어떤 작업의 진행 상황을 시각적으로 표현하는 Progress Bar Control, 사용자로부터 인터넷 프로토콜(IP) 형식의 숫자 주소를 입력할 수 있는 IP Address Control, 특정 날짜를 입력하거나 선택하도록 하는 Date Time Picker Control에 대해 간단히 살펴보고 실습을 통해 익혀본다. 9장 '고급 컨트롤 및 리본'에서는 Visual C++ 2008 Feature Pack 버전부터 새롭게 추가된 고급 MFC Feature 컨트롤('MFC' 접두어가 붙은 컨트롤)과 리본(Ribbon)에 대해 배운다. Visual C++ 2010에서는 이전 버전에서부터 제기되었던 문제점 개선과 약간의 추가 구현을 통하여 MFC 라이브러리의 안정성을 보완하였다고 할 수 있다. MFC Feature 컨트롤은 단순한 입ㆍ출력 기능만을 제공하던 기본 컨트롤을 재정의하여 각기 유용한 고유기능을 갖는 고급화된 컨트롤로서, Window 7에서 제공하고 있는 고급화된 사용자 인터페이스의 기본이 되고 있다. 리본(Ribbon)은 Office 2007 제품군에서부터 사용자에게 제공되는 여러 가지 명령을 보다 직관적이고 효율적으로 쉽게 찾고 실행할 수 있도록 Microsoft에서 제공하는 새로운 사용자 인터페이스의 패러다임이다. 이 장에서는 대표적인 MFC Feature 컨트롤들에 대해 간단히 설명하고, 실습을 통하여 대표적인 CMFCColorButton, CMFCFontComboBox, CVSListBox, MFC PropertyGrid 컨트롤에 대한 사용법을 배운다. 그리고 리본 디자이너(Ribbon Designer)를 이용한 리본 메뉴의 편집과 각 요소들에 대한 이벤트 처리에 대해서 실습을 통하여 배운다.
오늘날의 응용 프로그램들은 그 기능뿐만 아니라 인터페이스 부분도 중요시되고 있다. 사용자의 편의를 위해 또는 다루고자 하는 데이터의 종류에 따라서 윈도우의 뷰 영역을 좌우로 나눈다든지 뷰를 전환시켜 가면서 데이터를 출력한다든지 하는 것들은 데이터를 좀 더 정확하고 효율적으로 표현하기 위한 인터페이스적인 요인들이다. 10장 '도큐먼트 파일 입출력 및 다양한 뷰 클래스'에서는 이러한 부분들과 관련하여 여러 종류의 뷰 클래스에 대해서 알아보고 분할윈도우, 다중 뷰에 대해서 알아본다. 또한 도큐먼트 클래스의 Serialize() 함수를 이용하여 파일의 입ㆍ출력에 대해 알아본다. 11장 '동적 연결 라이브러리 DLL'에서는 동적 연결 라이브러리 DLL을 만드는 방법에 대하여 설명한다. 동적 연결 라이브러리 DLL이란 Dynamic Link Library의 약자이다. 동적 연결 라이브러리란 프로그램 내부에 라이브러리가 있는 것이 아니라 외부에 따로 독립적으로 실행 가능한 파일로 설정되어 있어 필요시 로드할 수 있는 라이브러리를 말한다. DLL은 프로그램을 작성할 때 각 모듈별로 나누어서 프로그램을 작성하는 것이 가능하다. 그로 인해 유지보수가 용이하고 여러 사람이 나누어서 프로그램을 만들 수 있다. 자주 쓰는 모듈 같은 경우 DLL로 제작하여 두면 프로그램의 재사용과 프로그램의 크기 또한 줄일 수 있다. Windows에서는 기본적으로 많이 쓰는 DLL을 윈도우 자체적으로 설치해 OS 자체나 다른 프로그램들이 사용하게 하고 있다. 이 장에서는 DLL의 링크 방법과 종류에 대해 살펴보고 실습을 통해 사용 방법을 익혀본다. 12장 '데이터베이스 프로그래밍'에서는 OLE DB를 이용한 데이터베이스 프로그램을 작성해 본다. 데이터베이스 프로그램은 기본적으로 데이터의 입ㆍ출력과 데이터 추가, 수정, 삭제 그리고 검색기능을 갖는 것이 일반적이다. 데이터베이스 프로그래밍을 하기 전에 반드시 알고 있어야 하는 사항은 데이터베이스에 접근하는 방식이다. Visual C++에서 데이터베이스에 접근하는 방식은 크게 세 가지로 나눌 수 있는데 ODBC를 이용하는 방법, DAO를 이용하는 방법, 그리고 OLE DB를 이용하는 방법이 있다.
13장 '그래픽 프로그래밍'에서는 모든 그래픽 도구에서 곡선을 그리는 데 사용되고 있는 베지어 곡선을 구현하는 프로그램을 작성해 본다. 베지어 곡선 알고리즘은 곡선을 생성하는 데 있어 대표적이며 기본이 되는 알고리즘이다. 물론 MFC에서 PolyBezier() 함수가 제공되는데 이 함수는 cubic 베지어 곡선을 그리는 데 한정되어 있다. 이 장에서는 베지어 곡선상의 좌표를 계산하는 알고리즘을 배우고 그 알고리즘에 입각하여 베지어 곡선을 구현해 본다. 14장 '네트워크 프로그래밍'에서는 네트워크 프로그래밍 중에 채팅 프로그램을 작성해 본다. 채팅 프로그램은 서버를 생성하고 클라이언트가 서버에 접속하여 채팅을 하는 것이 일반적이다. 이 장에서는 채팅 프로그램을 구현함으로써, 윈도우 프로그램 방식에서 채팅 프로그램이 동작하는 원리와 방법에 대해 공부한다.
[교보문고에서 제공한 정보입니다.]

목차정보

제1장 윈도우 프로그래밍의 이해
1.1 윈도우 프로그래밍의 개념
1.2 Win32 SDK 윈도우 프로그램의 기본 구조
「실습 1-1」 간단한 Win32 SDK 프로그램 만들기
1.3 간단한 윈도우 애플리케이션의 분석
1.4 윈도우 프로그램의 기본 형식

제2장 MFC 개요 및 아키텍처
2.1 MFC의 개요
2.2 MFC 프로그램의 구조
2.3 Visual C++의 시작
「실습 2-1」 MFC 응용 프로그램 마법사 익히기
2.4 SDI 템플릿
2.5 MDI 템플릿
2.6 MFC 애플리케이션 아키텍처
「실습 2-2」 간단한 MFC 프로젝트 만들기

제3장 메시지 처리
3.1 메시지 처리의 기본개념
3.2 메시지 박스(Message Box)
「실습 3-1」 메시지 박스 생성하기
3.3 마우스 메시지(Mouse Message)
「실습 3-2」 디지털시계 만들기
3.4 키보드 메시지(Keyboard Message)
「실습 3-3」 문자를 입력하고 이동시키기

제4장 대화상자
4.1 CDialogEx 클래스
4.2 대화상자 기반의 프로그램
4.3 MFC 기본 컨트롤
「실습 4-1」 MFC 기본 컨트롤(Control) 사용법 익히기
4.4 모달(Modal) 대화상자와 모덜리스(Modaless) 대화상자
4.5 공용 대화상자
「실습 4-2」 단위 변환 프로그램 만들기

제5장 사용자 인터페이스
5.1 메뉴(Menu)
「실습 5-1」 간단한 메뉴와 단축키 만들기
5.2 툴바(Toolbar)
「실습 5-2」 간단한 툴바 만들기
5.3 상태 표시줄(Status Bar)
「실습 5-3」 상태 표시줄에 팬을 만들고 문자열을 출력하기
5.4 도킹 팬(Docking Pane) 윈도우
「실습 5-4」 사칙연산 계산기 만들기

제6장 그래픽 객체의 사용
6.1 GDI와 DC의 개념
6.2 GDI 객체
「실습 6-1」 직선, 도형 및 비트맵 그리기
6.3 GDI+의 개념
「실습 6-2」 사각형 뷰포트에 원 그리기

제7장 컨트롤 및 리소스 Ⅰ
7.1 리스트 컨트롤(List Control)
「실습 7-1」 대화상자에 List Control을 만들기
7.2 트리 컨트롤(Tree Control)
「실습 7-2」 대화상자에서 Tree Control를 사용하기

제8장 컨트롤 및 리소스 Ⅱ
8.1 탭 컨트롤(Tab Control)
8.2 슬라이더 컨트롤(Slider Control)
8.3 스핀 컨트롤(Spin Control)
「실습 8-1」 도형의 종류와 색상을 대화상자에 출력하기
8.4 프로그레스 바 컨트롤(Progress Bar Control)
8.5 IP 주소 컨트롤(IP Address Control)
8.6 네트워크 주소 컨트롤(Network Address Control)
8.7 날짜/시간 선택 컨트롤(Date Time Picker)
8.8 애니메이션 컨트롤(Animation Control)
「실습 8-2」 각종 컨트롤을 이용한 데이터 전송 Simulator 작성하기

제9장 고급 컨트롤 및 리본
9.1 MFC Feature 컨트롤(MFC Feature Controls)
「실습 9-1」 간단한 명함제작 프로그램 만들기
9.2 리본(Ribbon)
「실습 9-2」 리본 메뉴 및 각종 리본 컨트롤 익히기

제10장 도큐먼트 파일 입출력 및 다양한 뷰 클래스
10.1 도큐먼트
10.2 파일 입출력
10.3 다양한 뷰 클래스
「실습 10-1」 FormView를 이용한 문자 출력 및 파일 입출력하기
10.4 분할 윈도우
「실습 10-2」 정적 분할 윈도우를 이용한 학생 정보 프로그램 만들기
10.5 다중 뷰
「실습 10-3」 다중 뷰 만들기

제11장 동적 연결 라이브러리 DLL
11.1 DLL의 링크
11.2 DLL의 종류
「실습 11-1」 Implicit 링킹을 통한 정규 DLL 달력 만들기
「실습 11-2」 Explicit 링킹을 통한 정규 DLL 달력 만들기
「실습 11-3」 확장 DLL을 통한 주민등록번호 조회 프로그램 만들기

제12장 데이터베이스 프로그래밍
12.1 데이터베이스 프로그램의 개요
「실습 12-1」 OLE DB를 이용한 학생관리 프로그램 만들기

제13장 그래픽 프로그래밍
13.1 베지어 곡선(Bezier Curve)
「실습 13-1」 알고리즘을 통한 베지어(Bezier) 곡선 그리기
「실습 13-2」 컨트롤 포인트의 이동 및 베지어 곡선의 해상도 설정하기

제14장 네트워크 프로그래밍
14.1 네트워크 프로그램의 개요
「실습 14-1」 채팅 프로그램 제작하기
[교보문고에서 제공한 정보입니다.]