1 컴퓨터정보과 MFC 의 개요 MFC 윈도우 애플리케이션을 생성하기 위해 만들어진 C++ 클래스 라이브러리 애플리케이션 프레임워크를 제공 MFC 의 이점 윈도우 프로그램 전문가로 만들어 준다. 개발시간을 단축시키고, 이식성이 강한 코드를 작성 ActiveX, OLE,

Slides:



Advertisements
Similar presentations
.Net History. Visual Studio.Net 2002 /.Net Framework 1.0 제품의 버전 / 특징 2002 년 - Visual Studio.Net 2002 /.Net Framework 1.0 첫 통합 개발 환경 - C# 언어 등장 (C# 1.0)
Advertisements

Hallym Univ MFC 개요 및 사용법 발표자 : 최 원 민 1 목 차목 차  MFC 의 개요  MFC 프로그램의 구조  SDI(Single Document Interface) 애플리케이션 구조  MDI(Multiple Document Interface)
MFC의 개요 MFC MFC의 이점 윈도우 애플리케이션을 생성하기 위해 만들어진 C++ 클래스 라이브러리
윈도우 프로그래밍 실습 김 창 헌.
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
목차 Contents 무선인터넷용 비밀번호 설정방법 Windows 7 Windows 8 Windows XP MAC OS.
Chapter 16 : Struts 프레임워크 2. chapter 16 : Struts 프레임워크 2.
MFC Application Frameworks (AFX)
ㅎㅎ C++ 프로그래밍의 첫 걸음 C++로 프로그래밍한다는 것의 의미 세상에서 가장 간단한 C++ 프로그램
클래스 class, 객체 object 생성자 constructor 접근 access 제어 이벤트 event 처리.
Chapter 1 윈도우 프로그래밍 들어가기 윈도우 응용 프로그램을 작성하기 위해 필요한 기본 개념을 정립하고 Visual Studio를 설치한 후 MFC 응용 프로그램 마법사를 사용하여 MFC 프로그램을 작성하는 방법을 학습한다.
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
Index SendMemo 기능 Q & A 팀 소개 배경 및 목적 구현
Image & Video processing
Power Java 제3장 이클립스 사용하기.
Power Java 제3장 이클립스 사용하기.
MS-Access의 개요 1강 MOS Access 2003 CORE 학습내용 액세스 응용 프로그램은 유용한 데이터를
윤 홍 란 다이알로그(대화상자) 윤 홍 란
제 6장. 생성자와 소멸자 학기 프로그래밍언어및실습 (C++).
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
마우스(Mouse) 다루기 컴퓨터응용 및 실습 I.
제4장 대화상자 4.1 CDialogEx 클래스 4.2 대화상자 기반의 프로그램 실습 4-1 MFC 기본 컨트롤 사용법 익히기
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
Visual Basic .NET 처음 사용하기.
1. C++ 시작하기.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
FTP 프로그램 채계화 박재은 박수민.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
18강. 데이터 베이스 - II JDBC 살펴보기 Statement객체 살펴보기 Lecturer Kim Myoung-Ho
WinCE Device Driver 실습 #3
WinCE Device Driver 실습 #2
학습목표 학습목차 다른 홈페이지의 HTML 파일 코드를 보는 방법에 대해 알아봅니다.
분할 윈도, 다중 뷰… 영상 통신 연구실 권 동 진 발표 일 : 04월 27일.
CHAP 12. 리소스와 보안.
10장 컴퓨터 기반 데이터 획득 응용 프로그램 LabVIEW 사용법
13. 연산자 오버로딩.
Method & library.
JA A V W. 03.
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
영상처리 실습 인공지능연구실.
Lab 1 Guide: 교재 2장 DrawX ( 쪽)
제 1장. C++ 시작하기.
2 보안 1 도구 윈도우 XP > 온밀크 프로그램 설치 장애 (보안 설정) / 품목추가 깨질 때 장애증상
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
USN(Ubiquitous Sensor Network)
8장. spss statistics 20의 데이터 변환
자바 5.0 프로그래밍.
문자열 컴퓨터시뮬레이션학과 2015년 봄학기 담당교수 : 이형원 E304호,
컴퓨터 프로그래밍 기초 [01] Visual Studio 설치 및 사용방법
컴퓨터 개론 및 실습 1주차 2015년 03월 05일.
컴퓨터 계측 및 실습 디지털 출력 영남대학교 기계공학부.
CHAP 21. 전화, SMS, 주소록.
( Windows Service Application Debugging )
학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성. 학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성.
STS 또는 Eclipse 에서 프로젝트를 Export 하고 Import 하는 방법
영상처리 실습 (OpenCV + MFC) Chonbuk National University A.I. Lab.
가장 많이 사용 Accelerator 최상위 WM_COMMAND, OLE 메시지 관련 이벤트 처리만 가능 이 클래스를 상속받아서 다른 이벤트 처리 이벤트 처리 관련 윈도우(창) 최상위 클래스 멀티 테스킹(모듈) CFrameWnd, Cview,
메뉴(Menu) 컴퓨터응용 및 실습 I.
01. 분산 파일 시스템의 개요 네트워크에 분산된 파일을 사용자가 쉽게 접근하고 관리할 수 있게 해준다.
기초C언어 제2주 실습 프로그래밍의 개념, 프로그램 작성 과정 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
9 브라우저 객체 모델.
슬라이드 쇼의 설정 슬라이드 쇼의 실행 파일과 폴더의 관리 글꼴을 포함해서 저장 웹 페이지로 게시 압축 파일
Android -Data Base 윤수진 GyeongSang Univ. IT 1.
동적메모리와 연결 리스트 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원 E304호,
Installation Guide.
CHAP 15. 데이터 스토리지.
Platform Builder 사용법.
Power Point 예제 디자인 적용 (서식) - (디자인적용) - (원하는 디자인 선택)
Presentation transcript:

1 컴퓨터정보과 MFC 의 개요 MFC 윈도우 애플리케이션을 생성하기 위해 만들어진 C++ 클래스 라이브러리 애플리케이션 프레임워크를 제공 MFC 의 이점 윈도우 프로그램 전문가로 만들어 준다. 개발시간을 단축시키고, 이식성이 강한 코드를 작성 ActiveX, OLE, 인터넷 프로그래밍 같은 기술 지원 응용 프로그램 ( 데이터베이스, 네트워크 ) 을 손쉽게 작성 강력한 사용자 인터페이스를 지원

2 컴퓨터정보과 MFC 의 개요 MFC 의 표기법 헝가리안 표기법을 사용한다. 클래스는 모두 C 로 시작한다. 여러 단어가 하나의 클래스 이름일 경우 각 단어별 로 첫 글자를 대문자로 표기한다. 멤버 변수는 m_ 로 시작하고, 멤버 함수는 대문자로 시작한다. 전역 함수는 Afx 라는 접두어가 붙는다. Afx 는 Application Framework 의 약자로 Microsoft 사에서 MFC 를 개발했던 팀의 이름이다.

3 컴퓨터정보과 MFC 프로그램의 구조 SDI 애플리케이션의 구조

4 컴퓨터정보과 MFC 프로그램의 구조 SDI 애플리케이션의 구조 Template : 윈도로 출력되는 형태 Main Frame : 윈도 외곽 경계를 담당하고 메뉴, 툴바, 상태바를 가지고 있음 View 윈도 : 실제 화면 처리를 담당 문자 출력, 그래픽 출력 등 Document : 디스크에서 데이터를 읽고 저장 View Window Document Main Frame Template

5 컴퓨터정보과 MFC 프로그램의 구조 MDI 애플리케이션의 구조

6 컴퓨터정보과 MFC 프로그램의 구조 MDI 애플리케이션의 구조 여러 개의 SDI 형태 프로그램 Main Frame 독립적으로 설정되어 있고 그 안 에 template Template Child Frame View Window Document View Window Document Child Frame Template Main Frame 위의 템플릿이 여러 개 있을 수 있음......

7 컴퓨터정보과 MFC 프로그램의 구조 MFC 형태의 프로그램 구조 Application Class MFC 프로그램은 템플릿을 포함하고 한 개의 인스턴스를 포함하는 Application class 가 있음 View Window Document Main Frame Template Application Class View Window Document Child Frame Template Main Frame 위의 템플릿이 여러 개 있을 수 있음......

8 컴퓨터정보과 Visual C++ 란 Visual C++ 의 특징 다양한 SDK 형태의 라이브러리를 제공한다 Window 환경에 맞는 C 언어용 표준 라이브러리 강력한 MFC 가 있다 SDK 를 이용하여 클래스를 만들 때의 문제점을 해결 클래스 라이브러리 강력한 Wizard 가 있다 단순히 반복적인 코딩을 자동으로 생성 Class Wizard, AppWizard, Resource Editor...

9 컴퓨터정보과 실습 2-1 AppWizard 익히기 프로젝트를 만들 때 실행되는 프로그램 단순히 마우스 버튼으로 몇 개의 항목을 설정하면 자동적으로 프로젝트를 만들어 주고 자동 코딩을 해주는 기능 자동으로 소스를 만들어 주는 프로그램 ? 기존의 소스를 단순하게 복사하여 코딩 하는 프로그램 ? 기존의 있는 클래스를 상속 받는 또 하나의 클래스를 생성 ? Class CMainFrame : CFrameWnd { … }

10 컴퓨터정보과 Application Wizard AppWizard Step1 프로그램의 형태 선택 Single Document Multiple Document Dialog Based Document 유무 프로그램 지원 언어 Visual C 에서 부터 한국어 지원

11 컴퓨터정보과 Application Wizard AppWizard Step2 데이터베이스 라이브 러리 사용 설정 데이터 베이스 사용유 무 헤더 파일만 포함 Open,save 등의 항목 없이 사용 File 항목을 사용 하면 서 db 사용

12 컴퓨터정보과 Application Wizard AppWizard Step3 OLE 옵션 설정 OLE 항목의 사용여부 객체 삽입 항목을 가지고 있는지 객체 삽입 항목에서만 구동 되는지 독립적 형태로 구동 되면서 OLE 를 지원하여 객체 삽입 항목에서도 구 동 되는지 자신도 객체 삽입 항목에서 구동 되 는지 Active X 옵션 설정 ActiveX 컨트롤을 자신의 프로그램 에 삽입 시킬 수 있는지.

13 컴퓨터정보과 Application Wizard 개체 삽입의 예 프로그램 실행 후 개체 삽입을 선택 했을 경우 자신의 프로그램에 개체삽입을 제공하는 다른 프로 그램을 삽입 하여 구동

14 컴퓨터정보과 Application Wizard AppWizard Step4 윈도 출력 형태 옵션 설 정 윈도에 들어가는 메뉴나 툴바, 상태바 등 설치 여 부 툴바의 형태 진보적인 스타일을 지정 하기 위해 Advanced 버 튼을 사용

15 컴퓨터정보과 Application Wizard AppWizard Step4 Advanced Option 선택 파일 확장자 파일 ID 도큐먼트 이름 새로운 파일 선택 시 타 이틀 바에 출력문자 캡션바에 출력문자 파일 대화 상자가 출력되 었을 Filter 파일 Type 이름

16 컴퓨터정보과 Application Wizard AppWizard Step4 Advanced Option 선 택 (Window Styles) 메인 프레임 스타일 MDI 형태일 경우 자식 프레임 스타일

17 컴퓨터정보과 Application Wizard AppWizard Step5 프로젝트 스타일 설정 MFC Standard Window Explorer 소스에 커맨드 설정 MFC 라이브러리의 사 용 방법 DLL 로 사용 LIB 로 사용

18 컴퓨터정보과 Application Wizard AppWizard Step6 Class 와 파일 대한 정 보 및 수정 Class 이름은 모든 class 에 서 변경할 수 있다. Source file 과 Header file 이름은 App class 외에 다 른 class 에서만 변경할 수 있다 Base class 이름은 View class 에서만 변경할 수 있 다.

19 컴퓨터정보과 Application Wizard AppWizard 완료 AppWizard 를 사용 하여 만든 프로젝 트에 대한 정보를 보여준다. Application type Classes to be created Features

20 컴퓨터정보과 Application Wizard MDI 형 프로젝트 만들기 SDI 와 동일하고 Step 1 에서 MDI 를 선택 추가된 내용 CChildFrame 만이 추가 되었다 Child Frame class 는 Base Class 이름만 변경할 수 없다.

21 컴퓨터정보과 Application Wizard AppWizard 기능 만들고자 하는 기본적인 프로젝트를 생성 해주고 그 안에 필요한 클래스 생성 클래스에 기본적인 내용을 코딩 기본적인 코딩시간을 절약 하므로 빠른 프로젝트 완성 AppWizard 사용 도중 실수로 옵션을 선택하지 않았 을 경우 소스에서 새로 추가할 수 있다.

22 컴퓨터정보과 Project Workspace 프로젝트 워크스페이스의 구성 MFC 클래스를 상속 받아 탄생된 새로운 클래스 클래스 소스가 설정되어 있는 파일들 소스파일 cpp 헤더 파일 h 프로그램에 필요한 메뉴, 아이콘, 문자열, 대화상자 같은 자원

23 컴퓨터정보과 Project Workspace 프로젝트 워크스페이스의 항목별 설명 프로젝트에 설정되어 있는 클래스별로 출력, 해당 항목을 선택하면 수정 가능 ClassView 프로젝트에 설정되어 있는 파일 리스트 출력, 해당 항목을 선택하여 수정 가능 FileView 프로젝트에 설정되어 있는 메뉴, 대화 상자, 문자열, 아이콘, 비트맵 등 자원의 리스트 출력, 해당 항목 선택 수정 가능 ResourceView 내 용항 목

24 컴퓨터정보과 Project Workspace Class View 화면 해당 항목을 더블 클릭하면 클래스 헤더 가 나타나고 우측 버튼을 클릭하면 해당 클래스에 함수나 변수 설정되도록 메뉴 설정 해당 클래스의 멤버 함수와 멤버 변수의 리스트 + 버튼을 클릭한 상태에서 해당 항목을 클릭하면 해당 항목이 설정되어 있는 소 스 파일로 이동 protected 형태로 설정되어 있을 경우 ( 열쇠 ) protected 형태로 설정되어 있지 않을 경우는 열쇠 아이콘이 나타나지 않음

25 컴퓨터정보과 Project Workspace Resource View 화면 Resource : 윈도우 프로그램을 만들 때 필요한 여러 자원 엑셀레이터 ( 핫키 정의 ) 키값을 정의하는 항목 대화 상자 ( 어떤 형태의 대화 상 자의 출력할 폼을 만들어서 저장 ) 자원들 아이콘 자원 메뉴 자원 문자열 테이블 툴바

26 컴퓨터정보과 Project Workspace File View 화면 소스 파일 헤더 파일 자원 파일

27 컴퓨터정보과 MFC Application Architecture MFC 클래스의 기본 구조 MFC 의 계층적 구조 형태 CObject CCmdTarget CWnd CWinThread CDocument 기타 CWinApp ► CMainFrame 과 Cview 클래스는 CWnd 에서 상속받음

28 컴퓨터정보과 MFC Application Architecture CObject 클래스 ( 최상위 클래스 ) 메모리에 클래스를 설정하는 기능 클래스를 할당하기 위한 new 연산자가 오버로딩 /MFC/Include/Afx.h 에 설정 클래스의 기능과 종류를 알 수 있는 함수가 있음 IsSerializable() : 현재 클래스가 데이터를 디스크에 저장할 수 있는 기능을 자지고 있는지 없는지를 확인하는 함수 AssertValid( ) : 현재 클래스가 유효한 클래스인가를 확인하는 함수 Dump() : 현재 클래스의 상태를 확인하는 함수 디버깅할 때 이 함수를 이용하여 데이터의 상태를 확인하고 오류를 정리할 수 있음

29 컴퓨터정보과 MFC Application Architecture CCmdTarget 클래스 메시지 전송을 담당하는 클래스 실질적으로 메시지를 처리하는 것이 아니라 WM_COMMAND 와 OLE 메시지만 담당 윈도우 시스템 Application 이벤트 발생 메시지 전송 메시지 처리 화면에 출력

30 컴퓨터정보과 MFC Application Architecture CWnd 클래스 화면에 보이는 윈도들은 모두 CWnd 에서 상속 받음 가장 많이 사용되는 클래스 윈도우의 최상위 클래스 상속해서 사용하지 직접 CWnd 클래스를 사용하지는 않는다. 윈도우를 구동하는 모든 기능을 가진 함수가 있다. Initialization Window State Functions Window Size and position Coordinate Mapping Functions Window Message Functions ……..

31 컴퓨터정보과 MFC Application Architecture CWndThread 클래스 윈도가 스레드로 돌아갈 수 있도록 구동 되는 클래스 스레드는 독립적인 형태로 구동 되는 하나의 모듈 한 개의 프로그램을 독립적으로 움직이려면 한 개의 프로그램은 한 개 이상의 CWinThread 를 포함해야 한 다 Multi-tasking 이 가능 CWndApp 클래스 한 개의 프로그램을 포함하고 관장하는 클래스

32 컴퓨터정보과 MFC Application Architecture CDocument 클래스 데이터를 디스크에서 읽어 들이거나 디스크에 저장 하는 부분을 담당하는 클래스 주로 알고리즘을 저장 나중에 다른 프로그램에서 재사용이 용이

33 컴퓨터정보과 CWnd 를 상속 받은 클래스들 CFrameWnd CWnd CControlBar CPropertySheet CDialog CView Control class 프레임 형태의 윈도우 컨트롤 바 프로퍼티 시트 대화 상자 View 윈도우 컨트롤 들

34 컴퓨터정보과 실습 2-2 Cstring 클래스 문자열을 처리하는 클래스 멤버 함수 함 수함 수내 용내 용 GetLength 설정된 문자의 길이를 반환한다 IsEmpty 현재 클래스에 문자열 버퍼가 비어 있는가 ? Empty 문자열을 삭제하여 버퍼를 비운다 GetAt 문자열의 특정 위치의 문자 값을 얻는다 SetAt 문자열의 특정 위치에 새로운 문자열을 삽입한다 Compare 문자열과 인자의 문자열을 비교한다 MakeUpper 문자열의 소문자를 대문자로 바꾼다 MakeLower 문자열의 대문자를 소문자로 바꾼다 Format 문자열에 형식을 갖추어 문자들을 넣는다 Find 문자열에서 특정 문자나 문자열을 찾는다

35 컴퓨터정보과 실습 2-2 실행 화면