Chapter 1 윈도우 프로그래밍 들어가기 윈도우 응용 프로그램을 작성하기 위해 필요한 기본 개념을 정립하고 Visual Studio를 설치한 후 MFC 응용 프로그램 마법사를 사용하여 MFC 프로그램을 작성하는 방법을 학습한다.

Slides:



Advertisements
Similar presentations
Hallym Univ MFC 개요 및 사용법 발표자 : 최 원 민 1 목 차목 차  MFC 의 개요  MFC 프로그램의 구조  SDI(Single Document Interface) 애플리케이션 구조  MDI(Multiple Document Interface)
Advertisements

1 컴퓨터정보과 MFC 의 개요 MFC 윈도우 애플리케이션을 생성하기 위해 만들어진 C++ 클래스 라이브러리 애플리케이션 프레임워크를 제공 MFC 의 이점 윈도우 프로그램 전문가로 만들어 준다. 개발시간을 단축시키고, 이식성이 강한 코드를 작성 ActiveX, OLE,
MFC의 개요 MFC MFC의 이점 윈도우 애플리케이션을 생성하기 위해 만들어진 C++ 클래스 라이브러리
Format String Attack! 포맷 스트링 공격 경일대학교 사이버보안학과 학년 남주호.
컴퓨터와 인터넷.
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
MFC Application Frameworks (AFX)
ㅎㅎ C++ 프로그래밍의 첫 걸음 C++로 프로그래밍한다는 것의 의미 세상에서 가장 간단한 C++ 프로그램
ㅎㅎ C++ 프로그래밍의 첫 걸음 C++ 프로그래밍 기초 : 객체지향의 시작 C++로 프로그래밍한다는 것의 의미
2장. 프로그램의 기본 구성. 2장. 프로그램의 기본 구성 2-1"Hello, World!" 들여다 보기 /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0;
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
Image & Video processing
Power Java 제3장 이클립스 사용하기.
Power Java 제3장 이클립스 사용하기.
MS-Access의 개요 1강 MOS Access 2003 CORE 학습내용 액세스 응용 프로그램은 유용한 데이터를
최윤정 Java 프로그래밍 클래스 상속 최윤정
윤 홍 란 다이알로그(대화상자) 윤 홍 란
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 프로그래밍 언어 1-1 C 언어의 개론적 이야기 한글, 엑셀, 게임 등의 프로그램을 만들 때 사용하는 언어 ‘컴퓨터 프로그래머’라는 사람들이 제작 C 언어(C++ 포함)를 가장 많이 사용함.
컴퓨터 프로그래밍 기초 [Final] 기말고사
MS SQL Server - 마이크로소프트 사가 윈도우 운영 체제를 기반으로 개발한 관계 DBMS
8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용 8.3 인터페이스의 상속 8.4 인터페이스 참조
CH 1. MFC 전체보기 정보통신공학과 안 재 형.
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
Visual Basic .NET 처음 사용하기.
3.2 SQL Server 설치 및 수행(계속) 시스템 데이터베이스 master
1. C++ 시작하기.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
NJM Messenger 박상원 박연호.
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
학습목표 학습목차 다른 홈페이지의 HTML 파일 코드를 보는 방법에 대해 알아봅니다.
분할 윈도, 다중 뷰… 영상 통신 연구실 권 동 진 발표 일 : 04월 27일.
Method & library.
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
C# 12장. 웹 응용 프로그램 제작.
강의 개요. 2014년 가을학기 손시운 지도 교수: 문양세 교수님.
홀인원2.0 설치 메뉴얼.
영상처리 실습 인공지능연구실.
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
LIT-GenAppSetup ※ Texting+ 클라이언트 프로그램은 제품 인증을 받은 제품입니다.
CHAP 5. 레이아웃.
Lesson 2. 기본 데이터형.
Lab 1 Guide: 교재 2장 DrawX ( 쪽)
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
그래픽 모듈 편집.
Nessus 4 설치 정보보호응용 조용준.
Part 4 클래스 라이브러리 Chapter 10 : 다중 스레드 Chapter 11 : 패키지와 주요 클래스
자바 5.0 프로그래밍.
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
15강. 폼 데이터 값 검증 Validator를 이용한 검증 ValidationUtils 클래스
1. 스크립트 작성 마법사 2. NSIS 스크립트 컴파일
문자열 컴퓨터시뮬레이션학과 2015년 봄학기 담당교수 : 이형원 E304호,
컴퓨터 프로그래밍 기초 [01] Visual Studio 설치 및 사용방법
컴퓨터 개론 및 실습 1주차 2015년 03월 05일.
( Windows Service Application Debugging )
학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성. 학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성.
디버깅 관련 옵션 실습해보기 발표 : 2008년 5월 19일 2분반 정 훈 승
영상처리 실습 (OpenCV + MFC) Chonbuk National University A.I. Lab.
가장 많이 사용 Accelerator 최상위 WM_COMMAND, OLE 메시지 관련 이벤트 처리만 가능 이 클래스를 상속받아서 다른 이벤트 처리 이벤트 처리 관련 윈도우(창) 최상위 클래스 멀티 테스킹(모듈) CFrameWnd, Cview,
01. 분산 파일 시스템의 개요 네트워크에 분산된 파일을 사용자가 쉽게 접근하고 관리할 수 있게 해준다.
기초C언어 제2주 실습 프로그래밍의 개념, 프로그램 작성 과정 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
9 브라우저 객체 모델.
슬라이드 쇼의 설정 슬라이드 쇼의 실행 파일과 폴더의 관리 글꼴을 포함해서 저장 웹 페이지로 게시 압축 파일
Android -Data Base 윤수진 GyeongSang Univ. IT 1.
동적메모리와 연결 리스트 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원 E304호,
워드프로세서 스프레드시트 문서 관리 인터넷 활용
Installation Guide.
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
29장. 템플릿과 STL 01_ 템플릿 02_ STL.
MFC 기초 윈도우 응용프로그램 개발 간략한 역사 Microsoft Foundation Classes
Presentation transcript:

Chapter 1 윈도우 프로그래밍 들어가기 윈도우 응용 프로그램을 작성하기 위해 필요한 기본 개념을 정립하고 Visual Studio를 설치한 후 MFC 응용 프로그램 마법사를 사용하여 MFC 프로그램을 작성하는 방법을 학습한다.

학습 목표 윈도우 운영체제에 대한 개념을 정립한다. 윈도우 응용 프로그램의 특징을 살펴본다. 윈도우 MFC 프로그래밍의 기본 개념과 MFC 아키텍처에 대해서 학습한다. MFC 응용 프로그램 작성 과정, 기본 구조, 동작 원리를 이해한다.

Section 01. 윈도우 응용 프로그램 개요와 개발 환경 구축하기 “Visual C++” 란? Windows XP와 같은 윈도우 운영체제(이하 윈도우)에서 동작하는 응용 프로그래밍을 하기 위한 프로그램 언어의 일종이다. “MFC(Microsoft Foundation Class)”란? 마이크로소프트사에서 윈도우에서 응용 프로그램을 제작하라고 제공해주는 C++ 클래스 라이브러리의 집합이다.

Section 01. 윈도우 응용 프로그램 개요와 개발 환경 구축하기 MFC 응용 프로그램 마법사 MFC 응용 프로그램은 마이크로소프트사에서 제공해주는 비주얼 스튜디오를 사용하여 제작하는데 일반적으로 비주얼 스튜디오 내에 탑재된 MFC 응용 프로그램 마법사를 사용한다. MFC 응용 프로그램 마법사로 생성된 MFC 응용 프로그램은 윈도우에서 흔히 볼 수 있는 응용 프로그램들과 유사한 인터페이스를 갖는 응용 프로그램을 작성해 준다. 응용 프로그램 종류 단일 문서 : 메모장과 같이 한 순간에 한 개의 파일만 사용할 수 있는 응용 프로그램 다중 문서 : 워드 프로세서(마이크로 소프트 워드)와 같이 한순간에 여러 개의 파일을 사용할 수 있는 응용 프로그램 대화 상자 기반 : 계산기와 같은 컨트롤을 포함한 응용 프로그램

Section 02. Visual C++ 프로그램 구조 파악하기 프로젝트란 하나의 실행 파일(exe)을 만들어 내기 위해서 필요한 여러 개의 소스 파일과 헤더 파일 등을 하나로 묶어 놓은 것을 말한다. [솔루션 탐색기] 창 MFC 응용 프로그램 마법사가 생성해준 파일들은 [리소스 파일], [소스 파일], [헤더 파일] 3 종류로 나누어서 보여주기에 쉽게 찾을 수 있다.

Section 02. Visual C++ 프로그램 구조 파악하기 [클래스 뷰] 창 [솔루션 탐색기] 창이 물리적인 파일 관계를 보여주는 것에 비해 논리적인 클래스 관계를 보여준다. 즉, 각 클래스의 멤버 변수와 함수들을 일목요연하게 볼 수 있다. 마우스 더블 클릭으로 멤버 변수의 선언된 위치나 함수가 정의된 위치를 손쉽게 찾아 갈 수 있다.

Section 02. Visual C++ 프로그램 구조 파악하기 MFC 응용 프로그램 마법사가 생성한 클래스 클래스이름 기본클래스 .h 파일 .cpp 파일 역할 CFirstDoc CDocument FirstDoc.h FirstDoc.cpp ▪뷰에 출력될 데이터 관리 ▪파일에 데이터 저장 및 로드 CMainFrame CFrameWnd MainFrm.h MainFrm.cpp ▪프로그램의 메인 윈도우를 관리 ▪메뉴와 툴바와 상태바와 같은 비 클라이언트 영역을 관리 CFirstApp CWinApp First.h First.cpp ▪프로그램의 시작과 끝을 제어 ▪3개(뷰, 도큐먼트, 프레임 워크)로 도큐먼트 템플릿을 생성 CFirstView CView FirstView.h FirstView.cpp ▪화면에 보여주는 역할 ▪마우스가 클릭되었다는 이벤트 처리 ▪키가 눌렸다는 이벤트 처리

Section 02. Visual C++ 프로그램 구조 파악하기 MFC의 분류 하나는 CObject로부터 파생된 부류이고 다른 하나는 CObject로부터 파생되지 않고 독립적으로 존재하는 부류이다. MFC 계층도

Section 02. Visual C++ 프로그램 구조 파악하기 응용 프로그램 마법사가 생성한 클래스와 MFC 클래스 계층 관계 프로젝트 명을 First로 주었을 때 MFC 응용 프로그램 마법사가 생성한 클래스를 기본으로 설명한다.

링킹 AFX(Application Framework)란? MFC 응용 프로그램의 기본 골격을 이루는데 절대적인 역할을 하는 클래스인데 CWinApp, CDocument, CFrameWnd, Cview 클래스로 구성된다.

Section 02. Visual C++ 프로그램 구조 파악하기 AFX 클래스의 유기적 결합 CFrameWnd은 메인 프레임 윈도우를 관리(눈에 보임) CView는 데이터를 시각적으로 보여주는 역할(눈에 보임) CDocument는 데이터를 저장하고 관리(눈에 안보임) CWinApp는 프로그램을 시작시키고, 메인 프레임, 뷰, 도큐먼트 클래스를 생성 관리(눈에 안보임)

Section 02. Visual C++ 프로그램 구조 파악하기 응용 프로그램 클래스(CFirstApp : CWinApp) 프로그램의 시작과 종료 담당하는 응용 프로그램 전체를 관리 CSingleDocTemplate 클래스로 도큐먼트 템플릿 객체를 생성 생성자에 리소스(IDR_MAINFRAME), 도큐먼트 클래스(CFirstDoc), 프레임 클래스(CMainFrame), 뷰 클래스(CFirstView)를 설정 도큐먼트 템플릿 객체를 CWinApp 클래스의 멤버 함수인 AddDocTemplate 함수를 호출하여 CWinApp 클래스와 연결

Section 02. Visual C++ 프로그램 구조 파악하기 응용 프로그램 클래스(CFirstApp : CWinApp) InitInstance() 도큐먼트 템플릿 객체를 생성하면서 도큐먼트 클래스, 메인 프레임 클래스, 뷰 클래스를 생성 ExitInstance( ) CWinApp는 프로그램을 종료시키면 이 함수가 호출되어 정리 작업

Section 02. Visual C++ 프로그램 구조 파악하기 응용 프로그램 클래스(CFirstApp : CWinApp) Run( ) InitInstance( ) 함수가 호출된 후에 바로 호출된다. 메시지 처리방식인 윈도우 응용 프로그램에서 무한루프를 돌면서 메시지가 발생했는지를 감지해서 이를 처리하는 함수 윈도우의 닫기( )버튼을 클릭하면 WM_QUIT 메시지가 발생하는데 WM_QUIT 메시지를 만나면 무한루프를 빠져 나감

Section 02. Visual C++ 프로그램 구조 파악하기 메인 프레임 윈도우 클래스(CMainFrame : CFrameWnd) 사용자로 하여금 윈도우 응용 프로그램이라고 느낄 수 있는 기본적인 틀 형태를 제공해주는 클래스 제목줄, 메뉴, 툴바, 상태바, 뷰 등 여러 가지 자식 윈도우로 구성

Section 02. Visual C++ 프로그램 구조 파악하기 뷰 클래스(CFirstView : CView) 사용자와의 인터페이스를 위해서 사용되는 영역으로 실질적으로 응용 프로그램의 결과를 출력해주는 영역 마우스나 키보드 입력을 받아 처리 OnDraw( ) CDocument 클래스가 관리하는 데이터들을 시각적으로 보여주는 역할 도큐먼트가 데이터를 관리하고 이를 뷰의 OnDraw( )에서 화면에 출력하기에 OnDraw( ) 내부에서 GetDocument( )를 호출하고 있다.

Section 02. Visual C++ 프로그램 구조 파악하기 뷰 클래스(CFirstView : CView) GetDocument( ) 뷰 클래스에는 도큐먼트 객체 포인터를 얻어 준다. GetDocument( )는 뷰의 멤버함수이며 도큐먼트 객체 포인터를 얻어 주는 역할을 한다.

Section 02. Visual C++ 프로그램 구조 파악하기 도큐먼트 클래스(CFirstDoc :CDocument) 뷰에 출력될 데이터를 내부적으로 저장하고 관리하는 영역으로 우리가 볼 수는 없다. Serialize( ) 관리되는 데이터를 영구 저장하기 위해서 파일 입출력을 담당

Section 03. 디버깅하기 신텍스 오류(syntax error) 문법을 지키지 않았기에 발생하는 문법적 오류 시멘틱스 오류(semantics error) 원하지 않는 결과를 초래하게 되는 논리적 오류 비주얼 스튜디오에는 시멘틱스 오류(semantics error)를 손쉽게 찾을 수 있도록 디버깅 툴을 제공한다. 다음은 디버깅을 위한 단축키이다. 단축 키 설명 [F5] 다음 정지 점까지 계속 진행한다.(F9키와 연동해서 사용한다.) [F10] (Step Over) 한 구문씩 진행하지만, 함수 내부로 들어가지 않는다. [F11] (Step Into) 한 구문씩 진행하지만, 함수 내부로 진행할 수 있다. [Shift]+[F11] (Step Out) [F11] 키와 반대로 현재 있는 함수에서 빠져 나온다. [Ctrl]+[F10] (Run To Cursor) 현재 커서까지 진행을 시킨다.

Section 03. 디버깅하기 CString 프로그래밍을 할 때 가장 많이 사용하는 데이터 중 하나인 문자열을 저장하기 위한 클래스 Format( ) CString은 다양한 타입의 데이터를 문자열로 변경하기 위한 함수 C 언어의 printf( ) 함수와 유사 형식지정자로 뒤에 나열된 변수들의 출력 위치와 데이터 타입을 결정 %d 형식지정자는 decimal(10진수)의 약자로서 정수형 데이터를 10진수 형태의 문자로 변경