Visual C++ MFC 프로그래밍

Download Report

Transcript Visual C++ MFC 프로그래밍

윈도우 프로그래밍 II
( Visual C++ MFC 프로그래밍 )
강의 개요
교과목 명
윈도우즈 프로그래밍 II
담당교수
이종일 ( [email protected] , 010-6326-1045 )
강의 교재
강의 자료로 대체
참고 서적
Visual C++ MFC 쉽게 따라하기, MFC연구회, 세진북스
강의 자료
www.irix.co.kr
강의 목표
본 과정은 윈도우 프로그래밍 도구인 Visual C++ MFC 에 대
한 기초 기능을 익히고, 다양한 실습 예제들을 통해 실제 업무
상에서 활용할 수 있는 능력을 갖추도록 한다 .
강의 진행 방법
이론 + 실습 + 평가
평가
강의 중 실시되는 실습 내용 검사 및 평가
(평소 성적과 출석을 대체함)
강의 개요
평가 방식
중간고사(20%) + 기말고사(20%) + 평소성적(40%)
+ 출석(20%)
중간, 기말고사
필기 + 실기시험
중간고사
10월 17일 (목)
기말고사
12월 12일 (목)
출석사항
한 학기에 결석 일이 4일 이상인 경우 과락
유고결석의 경우 증빙서류 사본 제출 (표1참조)
평가참여
중간, 기말고사 불참 시 과락
(질병 및 기타 불가피한 사항으로 응시하지 못할 경우는 증
빙서류를 첨부 제출 및 단독시험, 단, 성적은 최고 B학점까
지만 인정)
기타
취업자, 혹은 학기 중 취업을 한 학생은 반드시 취업
확인서를 지참하고 면담 신청할 것
강의 내용
주
강의 내용
1
강의 개요 및 비주얼 C++ MFC 기초 지식 이해
2
C++ 기초 문법 정리 및 실습
3
버튼, 에디트 박스, 체크박스, 콤보박스, 스태틱 텍스트 컨트롤 실습
4
리스트박스, 리스트컨트롤, 그림상자 실습
5
메뉴, 스크롤바, 트리 컨트롤 실습
6
스핀컨트롤, 애니메이션컨트롤, 슬라이드 컨트롤 실습
7
다이얼로그 박스와 텍스트 출력 실습
8
중간고사
9
마우스와 타이머 관련 프로그램 실습
10
그림그리기 프로그램 실습
11
시스템 정보 출력 프로그램 실습
12
공통 대화상자 이용하기
13
서로 다른 프로그램간 통신
14
멀티미디어 프로그래밍 실습
15
데이터베이스 프로그래밍 실습
16
기말고사
1,2장 Visual C++ MFC 개요
목차
1. 윈도우프로그래밍 개요
2. Visual C++ 개요
3. 기초 프로그래밍
1. 윈도우프로그래밍 개요
1.1 윈도우 운영체제의 장점

그래픽 유저 인터페이스(GUI) 환경
–
–

사용자 관점
–
–

화면 전 영역을 유용하게 사용
시각적으로 풍부한 표현 가능
마우스를 이용한 사용 편리성
일관성 있는 유저 인터페이스
프로그래머 관점
–
–
윈도우가 제공하는 다양한 기능을 이용해 편리한 프로그래밍
장치 독립적으로 프로그래밍 가능
1. 윈도우프로그래밍 개요
1.2 윈도우 프로그래밍




윈도우상에서 사용자가 발생시키는 이벤트( 마우스 클릭, 텍스트 입
력 등 )에 대한 메시지를 처리하는 프로그래밍
– Event / Message Driven Programming
윈도우 운영체제가 제공하는 다양한 기능/함수 호출 가능
–
Win32 API (Application Programming Interface)
윈도우와 상호 작용 및 동적 연결
– 사용자 이벤트를 윈도우 OS가 감지하여 메시지로 전달하면 응용
프로그램은 이에 대한 처리만하면 되므로 프로그래밍 용이
다양한 프로그래밍 언어로 구현
– Visual Basic, Visual C/C++, Visual C# 등
1. 윈도우프로그래밍 개요

윈도우환경에서 프로그래밍하기
CUI 순차적 프로그래밍
GUI Window 프로그래밍
코드
윈도우 창
1. 윈도우프로그래밍 개요

윈도우 프로그래밍 절차
화면 디자인 & 컨트롤 배치
각 컨트롤의 속성 설정
코드 작성 (이벤트 처리 코드)
컴파일 (실행 프로그램)
1. 윈도우프로그래밍 개요

컴파일(Compile)
•
•
•
•
작성된 프로그램을 컴퓨터에서 바로 실행될 수 있는 0과 1로
구성된 이진 파일로 만드는 과정
장점
- 한번 컴파일되어 실행파일이 만들어지면, 다음 실행부터는
컴파일 없이 바로 실행하게 되므로 실행시간 효율성이 좋다
단점
- 특정시스템에서 컴파일된 실행파일은 다른 시스템에서
실행되지 않는다
예 : 윈도우에서 컴파일된 파일은 리눅스에서 실행되지 않는다.
대표적인 언어 : C, C++
1. 윈도우프로그래밍 개요

윈도우 프로그래밍 방법 비교
–
SDK (Software Development Kit)
 OS가 제공하는 API를 직접 이용하여 프로그래밍
 장점 : 다양한 기능 구현, 속도빠름
 단점 : 어렵고 복잡하다.
–
RAD (Rapid Application Development)
 시각적 화면 디자인 & 코딩 (Visual Basic, Delphi)
 장점 : API 몰라도 쉽고, 빠르게 프로그래밍 가능
 단점 : 속도 느리고, 기능 제한
–
MFC (Microsoft Foundation Class Library)
 윈도우 프로그래밍에 유용한 클래스 집합을 이용한 프로그래밍
 장점 : SDK와 RAD 장점을 포함
 단점 : 객체지향 및 클래스 라이브러리 구조 이해 필요
2. Visual C++ 개요
2.1 Visual C++란?




윈도우 환경에서 동작하는 마이크로소프트사의
C++ 컴파일러로, 윈도우 프로그래밍을 할 수 있는 통합 개발 환경
윈도우 프로그래밍을 위한 객체 지향 프로그래밍 개발도구
자동화된 프로그래밍을 제공하여 대부분의 코드는 Visual C++가
자동으로 만들어 줌으로 빠르게 프로그램 작성이 가능
일반 윈도우 응용 프로그램뿐만 아니라 다양한 응용 프로그램 개발
이 가능
2. Visual C++ 개요
2.2 객체지향프로그래밍이란?


–
객체들을 프로그램 구성 기본 단위로 하는 프로그래밍 방법
–
객체를 사용함으로써 복제와 재사용 등을 할 수 있음
–
클래스 (Class)
–
C언어의 구조체를 확장한 개념
–
객체를 생성하기 위한 설계도(템플릿)
멤버변수와 멤버
함수를 포함
객체 (Object)
–
클래스를 기초로 만들어진 실체
–
한 객체는 데이터와 절차, 방법,
기능들을 모두 포함
함수
변수a
변수b
클래스를 바탕으로
객체 생성
2. Visual C++ 개요

계산기 프로그램 예
순차적 프로그래밍 (예 : C)
객체지향 프로그래밍 (예 : C++)
계산기를 기능에 따라 세분
▷ 입력기능
▷ 계산기능
▷ 출력기능
각각의 기능을 함수로 구현
계산기를 구성하는 객체로 세분
▷ Keyboard
▷ LCD
▷ CPU
각각의 객체를 클래스 구현
main()
{
input();
Compute();
Output();
}
class Keyboard
{
//Keyboard 할 일 구현
};
Input() // 입력기능
{
}
Compute() // 계산기능
{
}
Output() // 출력기능
{
}
class LCD
{
//LCD 할 일 구현
};
class CPU
{
//CPU 할 일 구현
};
2. Visual C++ 개요
2.3 이벤트(Event)와 메시지(Message) 란?
–
Event : 마우스 클릭, 움직임, 키보드로 문자입력 등 윈도우 화면상
에 일어나는 모든 일, 작업 -> OS가 감지
–
Message : 이벤트로 인하여 생성 및 전달되는 정보
–
윈도우 프로그램은 이벤트로 발생한 메시지를 처리하는 것이 주목적
–
예:
왼쪽 마우스 버튼 누름(이벤트) -> WM_LBUTTONDOWN (메시지)
윈도우 OS
Application
메시지 전송
이벤트 발생
메시지 처리
화면에 출력
2. Visual C++ 개요

비주얼 C++ 종류
• 비주얼 C++은 MicroSoft사의 Visual Studio 제품에 포함되어 있음
• Visual Studio 6.0은 Windows XP 까지만 설치 가능
2. Visual C++ 개요
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++ 개요
2.4 Visual C++ MFC 란?
–
윈도우 응용프로그램을 쉽게 개발할 수 있도록 제공되는
C++ 클래스 라이브러리 -> 프로그램 제작 기본 프레임워크
–
윈도우 응용프로그램 기본 구조 (AFX) 제공
-> 프로젝트 생성시 자동 생성
–
–
–
일관되고 간편하게 윈도우 프로그램 개발 가능
코드의 재 사용성 향상
소프트웨어 개발 용이
응용 프로그램
MFC
Win32 API
OS
MFC : Microsoft Foundation Class
AFX : Application Frameworks
CPU 및 주변장치
2. Visual C++ 개요

윈도우 응용프로그램 기본 구조 (AFX)
CFrameWnd
CView
윈도우의 프레임(틀)을 관리 데이터를 보여주는 윈도우
CWinApp
CDocument
데이터를 저장, 처리 (눈에는 안보임)
위의 세 오브젝트를 묶어주고, 프로그램을 구동 시킴 (눈에는 안보임)
2. Visual C++ 개요

AFX 기본 클래스
 CFrameWnd
- 윈도우의 이동, 크기조절, 최소화, 최대화 등 윈도우 제어하는데
필요한 기능 제공
 CView
- 데이터를 화면에 출력하는 기능 제공
③ CDocument (눈에 안보임)
- File Open, Save 및 데이터를 처리/저장하는 기능 제공
 CWinApp
(눈에 안보임)
- 을 엮으며, 프로그램 초기화, 실행 종료 등의 기능 제공
⑤ CDialog
- 모든 대화상자 기본 클래스
2. Visual C++ 개요

AFX 클래스로 부터 생성된 각 객체
프레임 윈도우 객체
메뉴 객체
툴바 객체
뷰 객체
일관된 사용자 인터페이스가 가능하다.
2. Visual C++ 개요

VC++ MFC 응용프로그램 종류
① 단일문서 (Single Document Interface :SDI)
- CFrameWnd, CView, CDocument, CWinApp 클래스로 구성
-예:
2. Visual C++ 개요
②
다중문서 (Multiple Document Interface : MDI)
- CFrameWnd(Main, Child), CView, CDocument, CWinApp
클래스로 구성
-예:
2. Visual C++ 개요
③ 대화상자 기반 (Dialog based Interface)
- CDialog, CWinApp 클래스로만 구성
-예:
2. Visual C++ 개요
2.5 비주얼 C++ 사용하기
VC++ 는 통합개발환경(IDE)를 이용해 프로그래밍한다.
프로그래밍 방법
①
프로젝트 생성
②
화면 디자인
③
코드 편집/작성
④
컴파일, 디버깅과 실행
2. Visual C++ 개요

Visual C++ 실행하기
① 바탕화면에서 Visual Studio 2010 클릭
②
Visual Studio 기본 환경 설정 선택 -> 처음 사용 시만 나타남
2. Visual C++ 개요

시작 페이지 화면
2. Visual C++ 개요

프로젝트 생성하기
① 메뉴에서 [파일] – [새로 만들기] – [프로젝트] 선택
2. Visual C++ 개요
②
새 프로젝트 창이 뜨면 [MFC 응용프로그램] 선택하고
프로젝트 [이름]을 지정한다.
자기가 사용할 폴더 만들 것
예 : exa1
체크 해제
2. Visual C++ 개요
③
MFC 응용프로그램 마법사 창이 뜨면 다음을 클릭한다.
2. Visual C++ 개요
④
응용프로그램 종류를 [대화 상자 기반]으로 [유니코드 라이브러리
사용]을 체크 해제하고 [마침]을 클릭한다.
2. Visual C++ 개요
⑤
다음과 같이 프로젝트가 생성되는 지 확인한다.
2. Visual C++ 개요
통합 개발 환경 (IDE)
메뉴
툴바
코드 편집 창
윈도우 디자인 창
솔루션탐색기
및 리소스 뷰
컨트롤
도구상자
속성 창
출력 창
2. Visual C++ 개요

컴파일 및 실행하기
① 메뉴에서 [디버그] – [디버깅 시작]을 클릭한다.
2. Visual C++ 개요
②
컴파일 과정에서 오류가 감지되지 않으면 다음과 같은 실행 화면
이 나타난다. (확인을 누르면 종료한다.)
* 실행파일은 [내문서] – [Visual Studio 2010] – [Projects] – [exa1]
– [Debug] 안에 exa1.exe 로 생성된다. (바로 실행 가능)
2. Visual C++ 개요

프로젝트 저장
① 프로젝트는 컴파일하면 자동저장되나 컴파일 전에는 메뉴의 [파일]
– [모두 저장]으로 수시로 저장한다.
( 저장 폴더는 [내문서] – [Visual Studio 2010] – [Projects] )
2. Visual C++ 개요

프로젝트 불러오기
① 프로젝트는 시작페이지에서 바로 불러 오거나 [파일] – [열기] –
[프로젝트/솔루션] 에서 불러 올 수 있다.