38
윈윈윈 윈윈윈윈윈 윈윈윈 윈윈윈윈윈 II II ( Visual C++ MFC ( Visual C++ MFC 윈윈윈윈윈 윈윈윈윈윈 ) )

윈도우 프로그래밍 II ( Visual C++ MFC 프로그래밍 )

Embed Size (px)

DESCRIPTION

윈도우 프로그래밍 II ( Visual C++ MFC 프로그래밍 ). 강의 개요. 강의 개요. 강의 내용. 1,2 장 Visual C++ MFC 개요. 목차. 1. 윈도우프로그래밍 개요 2. Visual C++ 개요 3. 기초 프로그래밍. 1. 윈도우프로그래밍 개요. 1.1 윈도우 운영체제의 장점. 그래픽 유저 인터페이스 (GUI) 환경 화면 전 영역을 유용하게 사용 시각적으로 풍부한 표현 가능 사용자 관점 마우스를 이용한 사용 편리성 일관성 있는 유저 인터페이스 - PowerPoint PPT Presentation

Citation preview

Page 1: 윈도우 프로그래밍  II ( Visual C++ MFC  프로그래밍  )

윈도우 프로그래밍 윈도우 프로그래밍 IIII( Visual C++ MFC ( Visual C++ MFC 프로그래밍 프로그래밍 ))

Page 2: 윈도우 프로그래밍  II ( Visual C++ MFC  프로그래밍  )

교과목 명 윈도우즈 프로그래밍 II

담당교수 이종일 ( [email protected] , 010-6326-1045 )

강의 교재 강의 자료로 대체

참고 서적 Visual C++ MFC 쉽게 따라하기 , MFC 연구회 , 세진북스

강의 자료 www.irix.co.kr

강의 목표본 과정은 윈도우 프로그래밍 도구인 Visual C++ MFC 에 대한 기초 기능을 익히고 , 다양한 실습 예제들을 통해 실제

업무상에서 활용할 수 있는 능력을 갖추도록 한다 .

강의 진행 방법 이론 + 실습 + 평가

평가 강의 중 실시되는 실습 내용 검사 및 평가 ( 평소 성적과 출석을 대체함 )

강의 개요

Page 3: 윈도우 프로그래밍  II ( Visual C++ MFC  프로그래밍  )

평가 방식 중간고사 (20%) + 기말고사 (20%) + 평소성적 (40%) + 출석 (20%)

중간 , 기말고사 필기 + 실기시험

중간고사 10 월 17 일 ( 목 )

기말고사 12 월 12 일 ( 목 )

출석사항 한 학기에 결석 일이 4 일 이상인 경우 과락유고결석의 경우 증빙서류 사본 제출 ( 표 1 참조 )

평가참여

중간 , 기말고사 불참 시 과락( 질병 및 기타 불가피한 사항으로 응시하지 못할 경우는

증빙서류를 첨부 제출 및 단독시험 , 단 , 성적은 최고 B학점까지만 인정 )

기타 취업자 , 혹은 학기 중 취업을 한 학생은 반드시 취업확인서를 지참하고 면담 신청할 것

강의 개요

Page 4: 윈도우 프로그래밍  II ( Visual C++ MFC  프로그래밍  )

강의 내용

주 강의 내용1 강의 개요 및 비주얼 C++ MFC 기초 지식 이해

2 C++ 기초 문법 정리 및 실습

3 버튼 , 에디트 박스 , 체크박스 , 콤보박스 , 스태틱 텍스트 컨트롤 실습

4 리스트박스 , 리스트컨트롤 , 그림상자 실습

5 메뉴 , 스크롤바 , 트리 컨트롤 실습

6 스핀컨트롤 , 애니메이션컨트롤 , 슬라이드 컨트롤 실습

7 다이얼로그 박스와 텍스트 출력 실습

8 중간고사

9 마우스와 타이머 관련 프로그램 실습

10 그림그리기 프로그램 실습

11 시스템 정보 출력 프로그램 실습

12 공통 대화상자 이용하기

13 서로 다른 프로그램간 통신

14 멀티미디어 프로그래밍 실습

15 데이터베이스 프로그래밍 실습

16 기말고사

Page 5: 윈도우 프로그래밍  II ( Visual C++ MFC  프로그래밍  )

1,2 장 Visual C++ MFC 개요

Page 6: 윈도우 프로그래밍  II ( Visual C++ MFC  프로그래밍  )

목차

1. 윈도우프로그래밍 개요 2. Visual C++ 개요3. 기초 프로그래밍

Page 7: 윈도우 프로그래밍  II ( Visual C++ MFC  프로그래밍  )

1.1 윈도우 운영체제의 장점

그래픽 유저 인터페이스 (GUI) 환경

– 화면 전 영역을 유용하게 사용– 시각적으로 풍부한 표현 가능

사용자 관점

– 마우스를 이용한 사용 편리성– 일관성 있는 유저 인터페이스

프로그래머 관점

– 윈도우가 제공하는 다양한 기능을 이용해 편리한 프로그래밍 – 장치 독립적으로 프로그래밍 가능

1. 윈도우프로그래밍 개요

Page 8: 윈도우 프로그래밍  II ( Visual C++ MFC  프로그래밍  )

1.2 윈도우 프로그래밍

윈도우상에서 사용자가 발생시키는 이벤트 ( 마우스 클릭 , 텍스트 입력 등 ) 에 대한 메시지를 처리하는 프로그래밍 – Event / Message Driven Programming

윈도우 운영체제가 제공하는 다양한 기능 /함수 호출 가능– Win32 API (Application Programming Interface)

윈도우와 상호 작용 및 동적 연결– 사용자 이벤트를 윈도우 OS 가 감지하여 메시지로 전달하면

응용프로그램은 이에 대한 처리만하면 되므로 프로그래밍 용이

다양한 프로그래밍 언어로 구현– Visual Basic, Visual C/C++, Visual C# 등

1. 윈도우프로그래밍 개요

Page 9: 윈도우 프로그래밍  II ( Visual C++ MFC  프로그래밍  )

1. 윈도우프로그래밍 개요

윈도우환경에서 프로그래밍하기

윈도우 창코드

CUI 순차적 프로그래밍

GUI Window 프로그래밍

Page 10: 윈도우 프로그래밍  II ( Visual C++ MFC  프로그래밍  )

각 컨트롤의 속성 설정

화면 디자인 & 컨트롤 배치

코드 작성 ( 이벤트 처리 코드 )

컴파일 ( 실행 프로그램 )

1. 윈도우프로그래밍 개요

윈도우 프로그래밍 절차

Page 11: 윈도우 프로그래밍  II ( Visual C++ MFC  프로그래밍  )

• 작성된 프로그램을 컴퓨터에서 바로 실행될 수 있는 0 과 1 로 구성된 이진 파일로 만드는 과정

• 장점- 한번 컴파일되어 실행파일이 만들어지면 , 다음 실행부터는

컴파일 없이 바로 실행하게 되므로 실행시간 효율성이 좋다

• 단점- 특정시스템에서 컴파일된 실행파일은 다른 시스템에서 실행되지

않는다예 : 윈도우에서 컴파일된 파일은 리눅스에서 실행되지 않는다 .

• 대표적인 언어 : C, C++

컴파일 (Compile)

1. 윈도우프로그래밍 개요

Page 12: 윈도우 프로그래밍  II ( Visual C++ MFC  프로그래밍  )

– SDK (Software Development Kit) OS 가 제공하는 API 를 직접 이용하여 프로그래밍 장점 : 다양한 기능 구현 , 속도빠름 단점 : 어렵고 복잡하다 .

– RAD (Rapid Application Development) 시각적 화면 디자인 & 코딩 (Visual Basic, Delphi) 장점 : API 몰라도 쉽고 , 빠르게 프로그래밍 가능 단점 : 속도 느리고 , 기능 제한

– MFC (Microsoft Foundation Class Library) 윈도우 프로그래밍에 유용한 클래스 집합을 이용한 프로그래밍 장점 : SDK 와 RAD 장점을 포함 단점 : 객체지향 및 클래스 라이브러리 구조 이해 필요

윈도우 프로그래밍 방법 비교

1. 윈도우프로그래밍 개요

Page 13: 윈도우 프로그래밍  II ( Visual C++ MFC  프로그래밍  )

2.1 Visual C++란 ?

윈도우 환경에서 동작하는 마이크로소프트사의 C++ 컴파일러로 , 윈도우 프로그래밍을 할 수 있는 통합 개발 환경

윈도우 프로그래밍을 위한 객체 지향 프로그래밍 개발도구

자동화된 프로그래밍을 제공하여 대부분의 코드는 Visual C++ 가

자동으로 만들어 줌으로 빠르게 프로그램 작성이 가능

일반 윈도우 응용 프로그램뿐만 아니라 다양한 응용 프로그램 개발이 가능

2. Visual C++ 개요

Page 14: 윈도우 프로그래밍  II ( Visual C++ MFC  프로그래밍  )

2.2 객체지향프로그래밍이란 ?

– 객체들을 프로그램 구성 기본 단위로 하는 프로그래밍 방법– 객체를 사용함으로써 복제와 재사용 등을 할 수 있음

클래스 (Class)

– C 언어의 구조체를 확장한 개념– 객체를 생성하기 위한 설계도 ( 템플릿 )

객체 (Object)

– 클래스를 기초로 만들어진 실체– 한 객체는 데이터와 절차 , 방법 ,

기능들을 모두 포함

2. Visual C++ 개요

– 멤버변수와 멤버

함수를 포함

클래스를 바탕으로 객체 생성

변수 a변수 b

함수

Page 15: 윈도우 프로그래밍  II ( Visual C++ MFC  프로그래밍  )

계산기 프로그램 예

순차적 프로그래밍 ( 예 : C) 객체지향 프로그래밍 ( 예 : C++)

계산기를 기능에 따라 세분▷ 입력기능▷ 계산기능▷ 출력기능각각의 기능을 함수로 구현

계산기를 구성하는 객체로 세분▷ Keyboard▷ LCD▷ CPU각각의 객체를 클래스 구현

main(){ input(); Compute(); Output();}

Input() // 입력기능{}

Compute() // 계산기능{}

Output() // 출력기능{}

class Keyboard{//Keyboard 할 일 구현};

class LCD{//LCD 할 일 구현};

class CPU{//CPU 할 일 구현};

2. Visual C++ 개요

Page 16: 윈도우 프로그래밍  II ( Visual C++ MFC  프로그래밍  )

2. Visual C++ 개요

2.3 이벤트 (Event) 와 메시지 (Message) 란 ?

– Event : 마우스 클릭 , 움직임 , 키보드로 문자입력 등 윈도우

화면상에 일어나는 모든 일 , 작업 -> OS 가 감지

– Message : 이벤트로 인하여 생성 및 전달되는 정보

– 윈도우 프로그램은 이벤트로 발생한 메시지를 처리하는 것이 주목적

– 예 :

왼쪽 마우스 버튼 누름 ( 이벤트 ) -> WM_LBUTTONDOWN ( 메시

지 )윈도우 OS윈도우 OS

ApplicationApplication

이벤트 발생

메시지 전송메시지 처리

화면에 출력

Page 17: 윈도우 프로그래밍  II ( Visual C++ MFC  프로그래밍  )

2. Visual C++ 개요

비주얼 C++ 종류• 비주얼 C++ 은 MicroSoft 사의 Visual Studio 제품에 포함되어 있음• Visual Studio 6.0 은 Windows XP 까지만 설치 가능

Page 18: 윈도우 프로그래밍  II ( Visual C++ MFC  프로그래밍  )

Visual Studio 2010 Professional 평가판

http://download.microsoft.com/download/B/3/8/B38A16DD-A088-4EEA-9031-450143063500/X16-57483VS2010ProTrialKOR.iso

Visual Studio 2010 Premium 평가판

http://download.microsoft.com/download/B/1/D/B1DE7C8C-9A1B-4687-8FEC-DE0BEC6CD66D/X16-56571VS2010PremTrialKOR.iso

Visual Studio 2010 Ultimate 평가판

http://download.microsoft.com/download/0/5/5/0557C29C-95EB-473C-8C33-977214C8390C/X16-60998VS2010UltimTrialKOR.iso

무료 정품 대학생 버전 : https://www.dreamspark.com/Product/Product.aspx?productid=4에서 가입 및 학생 인증 후 다운로드

2. Visual C++ 개요

Page 19: 윈도우 프로그래밍  II ( Visual C++ MFC  프로그래밍  )

2.4 Visual C++ MFC 란 ?

– 윈도우 응용프로그램을 쉽게 개발할 수 있도록 제공되는

C++ 클래스 라이브러리 -> 프로그램 제작 기본 프레임워크

– 윈도우 응용프로그램 기본 구조 (AFX) 제공

-> 프로젝트 생성시 자동 생성

– 일관되고 간편하게 윈도우 프로그램 개발 가능

– 코드의 재 사용성 향상

– 소프트웨어 개발 용이

2. Visual C++ 개요

MFC

Win32 API

OS

응용 프로그램

CPU 및 주변장치MFC : Microsoft Foundation ClassAFX : Application Frameworks

Page 20: 윈도우 프로그래밍  II ( Visual C++ MFC  프로그래밍  )

CFrameWnd윈도우의 프레임 ( 틀 ) 을 관리

CView데이터를 보여주는 윈도우

CDocument데이터를 저장 , 처리 ( 눈에는 안보임 )

CWinApp위의 세 오브젝트를 묶어주고 , 프로그램을 구동 시킴 ( 눈에는 안보임 )

2. Visual C++ 개요

윈도우 응용프로그램 기본 구조 (AFX)

Page 21: 윈도우 프로그래밍  II ( Visual C++ MFC  프로그래밍  )

AFX 기본 클래스

CFrameWnd

- 윈도우의 이동 , 크기조절 , 최소화 , 최대화 등 윈도우 제어하는데

필요한 기능 제공

   CView

- 데이터를 화면에 출력하는 기능 제공  ③ CDocument ( 눈에 안보임 )

- File Open, Save 및 데이터를 처리 /저장하는 기능 제공

  CWinApp ( 눈에 안보임 )

- 을 엮으며 , 프로그램 초기화 , 실행 종료 등의 기능 제공 ⑤ CDialog

- 모든 대화상자 기본 클래스

2. Visual C++ 개요

Page 22: 윈도우 프로그래밍  II ( Visual C++ MFC  프로그래밍  )

2. Visual C++ 개요

메뉴 객체

툴바 객체

뷰 객체

프레임 윈도우 객체

AFX 클래스로 부터 생성된 각 객체

일관된 사용자 인터페이스가 가능하다 .

Page 23: 윈도우 프로그래밍  II ( Visual C++ MFC  프로그래밍  )

VC++ MFC 응용프로그램 종류

① 단일문서 (Single Document Interface :SDI)

- CFrameWnd, CView, CDocument, CWinApp 클래스로 구성

- 예 :

2. Visual C++ 개요

Page 24: 윈도우 프로그래밍  II ( Visual C++ MFC  프로그래밍  )

② 다중문서 (Multiple Document Interface : MDI)

- CFrameWnd(Main, Child), CView, CDocument, CWinApp 클래스로 구성

- 예 :

2. Visual C++ 개요

Page 25: 윈도우 프로그래밍  II ( Visual C++ MFC  프로그래밍  )

③ 대화상자 기반 (Dialog based Interface)

- CDialog, CWinApp 클래스로만 구성

- 예 :

2. Visual C++ 개요

Page 26: 윈도우 프로그래밍  II ( Visual C++ MFC  프로그래밍  )

2. Visual C++ 개요

2.5 비주얼 C++ 사용하기

VC++ 는 통합개발환경 (IDE) 를 이용해 프로그래밍한다 .

프로그래밍 방법

프로젝트 생성

코드 편집 /작성

컴파일 , 디버깅과 실행

화면 디자인

Page 27: 윈도우 프로그래밍  II ( Visual C++ MFC  프로그래밍  )

2. Visual C++ 개요

Visual C++ 실행하기

① 바탕화면에서 Visual Studio 2010 클릭

② Visual Studio 기본 환경 설정 선택 -> 처음 사용 시만 나타남

Page 28: 윈도우 프로그래밍  II ( Visual C++ MFC  프로그래밍  )

2. Visual C++ 개요

시작 페이지 화면

Page 29: 윈도우 프로그래밍  II ( Visual C++ MFC  프로그래밍  )

2. Visual C++ 개요

프로젝트 생성하기

① 메뉴에서 [ 파일 ] – [새로 만들기 ] – [ 프로젝트 ] 선택

Page 30: 윈도우 프로그래밍  II ( Visual C++ MFC  프로그래밍  )

2. Visual C++ 개요

② 새 프로젝트 창이 뜨면 [MFC 응용프로그램 ] 선택하고 프로젝트 [ 이름 ] 을 지정한다 .

예 : exa1

자기가 사용할 폴더 만들 것

체크 해제

Page 31: 윈도우 프로그래밍  II ( Visual C++ MFC  프로그래밍  )

2. Visual C++ 개요

③ MFC 응용프로그램 마법사 창이 뜨면 다음을 클릭한다 .

Page 32: 윈도우 프로그래밍  II ( Visual C++ MFC  프로그래밍  )

2. Visual C++ 개요

④ 응용프로그램 종류를 [ 대화 상자 기반 ] 으로 [ 유니코드 라이브러리 사용 ] 을 체크 해제하고 [ 마침 ] 을 클릭한다 .

Page 33: 윈도우 프로그래밍  II ( Visual C++ MFC  프로그래밍  )

2. Visual C++ 개요

⑤ 다음과 같이 프로젝트가 생성되는 지 확인한다 .

Page 34: 윈도우 프로그래밍  II ( Visual C++ MFC  프로그래밍  )

2. Visual C++ 개요

컨트롤도구상자

속성 창

솔루션탐색기및 리소스 뷰

윈도우 디자인 창

코드 편집 창

출력 창

툴바메뉴통합 개발 환경 (IDE)

Page 35: 윈도우 프로그래밍  II ( Visual C++ MFC  프로그래밍  )

2. Visual C++ 개요

컴파일 및 실행하기

① 메뉴에서 [ 디버그 ] – [ 디버깅 시작 ] 을 클릭한다 .

Page 36: 윈도우 프로그래밍  II ( Visual C++ MFC  프로그래밍  )

2. Visual C++ 개요

② 컴파일 과정에서 오류가 감지되지 않으면 다음과 같은 실행 화면이 나타난다 . ( 확인을 누르면 종료한다 .)

* 실행파일은 [ 내문서 ] – [Visual Studio 2010] – [Projects] – [exa1] – [Debug] 안에 exa1.exe 로 생성된다 . ( 바로 실행 가능 )

Page 37: 윈도우 프로그래밍  II ( Visual C++ MFC  프로그래밍  )

2. Visual C++ 개요

프로젝트 저장

① 프로젝트는 컴파일하면 자동저장되나 컴파일 전에는 메뉴의 [ 파일 ] – [모두 저장 ] 으로 수시로 저장한다 .

( 저장 폴더는 [ 내문서 ] – [Visual Studio 2010] – [Projects] )

Page 38: 윈도우 프로그래밍  II ( Visual C++ MFC  프로그래밍  )

2. Visual C++ 개요

프로젝트 불러오기

① 프로젝트는 시작페이지에서 바로 불러 오거나 [ 파일 ] – [열기 ] – [ 프로젝트 /솔루션 ] 에서 불러 올 수 있다 .