480 likes | 1.44k Views
윈도우 프로그래밍 II ( Visual C++ MFC 프로그래밍 ). 강의 개요. 강의 개요. 강의 내용. 1,2 장 Visual C++ MFC 개요. 목차. 1. 윈도우프로그래밍 개요 2. Visual C++ 개요 3. 기초 프로그래밍. 1. 윈도우프로그래밍 개요. 1.1 윈도우 운영체제의 장점. 그래픽 유저 인터페이스 (GUI) 환경 화면 전 영역을 유용하게 사용 시각적으로 풍부한 표현 가능 사용자 관점 마우스를 이용한 사용 편리성 일관성 있는 유저 인터페이스
E N D
목차 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) • 클래스를 기초로 만들어진 실체 • 한 객체는 데이터와 절차, 방법, 기능들을 모두 포함 • 멤버변수와 멤버 함수를 포함 함수 변수b 변수a 클래스를 바탕으로 객체 생성
2. Visual C++ 개요 • 계산기 프로그램 예
윈도우 OS Application 메시지 전송 메시지 처리 이벤트 발생 화면에 출력 2. Visual C++ 개요 2.3이벤트(Event)와 메시지(Message) 란? • Event : 마우스 클릭, 움직임, 키보드로 문자입력 등 윈도우 화면상에 일어나는 모든 일, 작업 -> OS가 감지 • Message : 이벤트로 인하여 생성 및 전달되는 정보 • 윈도우 프로그램은 이벤트로 발생한 메시지를 처리하는 것이 주목적 • 예 : • 왼쪽 마우스 버튼 누름(이벤트) -> WM_LBUTTONDOWN (메시지)
2. Visual C++ 개요 • 비주얼 C++ 종류 • 비주얼 C++은 MicroSoft사의 Visual Studio 제품에 포함되어 있음 • Visual Studio6.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.isoVisual Studio 2010 Premium 평가판 http://download.microsoft.com/download/B/1/D/B1DE7C8C-9A1B-4687-8FEC-DE0BEC6CD66D/X16-56571VS2010PremTrialKOR.isoVisual 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 에서 가입 및 학생 인증 후 다운로드
응용 프로그램 MFC Win32 API OS CPU 및 주변장치 2. Visual C++ 개요 2.4 Visual C++ MFC 란? • 윈도우 응용프로그램을 쉽게 개발할 수 있도록 제공되는 C++ 클래스 라이브러리-> 프로그램 제작 기본 프레임워크 • 윈도우 응용프로그램기본 구조(AFX) 제공 • -> 프로젝트 생성시 자동 생성 • 일관되고 간편하게 윈도우 프로그램 개발 가능 • 코드의 재 사용성 향상 • 소프트웨어 개발 용이 MFC : Microsoft Foundation Class AFX : Application Frameworks
CFrameWnd CDocument CView 데이터를 저장, 처리 (눈에는 안보임) 데이터를 보여주는 윈도우 CWinApp 위의 세 오브젝트를 묶어주고, 프로그램을 구동 시킴 (눈에는 안보임) 2. Visual C++ 개요 • 윈도우 응용프로그램 기본 구조 (AFX) 윈도우의프레임(틀)을 관리
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++ 개요 • 프로젝트 불러오기 • 프로젝트는 시작페이지에서 바로 불러 오거나 [파일] – [열기] – [프로젝트/솔루션] 에서 불러 올 수 있다.