CH 1. MFC 전체보기 정보통신공학과 안 재 형.

Slides:



Advertisements
Similar presentations
3. 메소드와 변수 SCJP 자격증 프로젝트 발표자 : 최선웅. 1. 메 소 드 개 념 2. 메 소 드 양 식 3. 메 소 드 변 수 4. 메 소 드 예 제 5. 참 고 문 헌 / 자 료 목 차.
Advertisements

.Net History. Visual Studio.Net 2002 /.Net Framework 1.0 제품의 버전 / 특징 2002 년 - Visual Studio.Net 2002 /.Net Framework 1.0 첫 통합 개발 환경 - C# 언어 등장 (C# 1.0)
데이터 완전삭제프로그램 Perfect Delete 사용설명서  주의 이 프로그램을 이용하여 삭제된 데이터는 어떠한 방법으 로도 복구가 불가능합니다. 그러므로 실제 데이터 삭제시 신중을 기하기 바랍니다.
Hallym Univ MFC 개요 및 사용법 발표자 : 최 원 민 1 목 차목 차  MFC 의 개요  MFC 프로그램의 구조  SDI(Single Document Interface) 애플리케이션 구조  MDI(Multiple Document Interface)
1 컴퓨터정보과 MFC 의 개요 MFC 윈도우 애플리케이션을 생성하기 위해 만들어진 C++ 클래스 라이브러리 애플리케이션 프레임워크를 제공 MFC 의 이점 윈도우 프로그램 전문가로 만들어 준다. 개발시간을 단축시키고, 이식성이 강한 코드를 작성 ActiveX, OLE,
MFC의 개요 MFC MFC의 이점 윈도우 애플리케이션을 생성하기 위해 만들어진 C++ 클래스 라이브러리
Visual C++ Programming Document/View Architecture Department of Digital Contents Sang Il Park.
미디어 프로그래밍 II 소개.
7.1/2 메뉴편집기 사용하기 7.1 메뉴편집기 사용하기 7.2 MDI사용하기.
컴퓨터 공학 설계 및 실험 I MFC programming
컴퓨터와 인터넷.
윈도우 프로그래밍 실습 김 창 헌.
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
Chapter 16 : Struts 프레임워크 2. chapter 16 : Struts 프레임워크 2.
MFC Application Frameworks (AFX)
클래스 class, 객체 object 생성자 constructor 접근 access 제어 이벤트 event 처리.
Lecture 2 MFC and Application Frameworks
Lab 10 Guide: 프린터 출력 예제. 한 페이지의 그림 인쇄 (교재 24장, 쪽)
Chapter 1 윈도우 프로그래밍 들어가기 윈도우 응용 프로그램을 작성하기 위해 필요한 기본 개념을 정립하고 Visual Studio를 설치한 후 MFC 응용 프로그램 마법사를 사용하여 MFC 프로그램을 작성하는 방법을 학습한다.
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
Image & Video processing
Power Java 제3장 이클립스 사용하기.
Power Java 제3장 이클립스 사용하기.
MS-Access의 개요 1강 MOS Access 2003 CORE 학습내용 액세스 응용 프로그램은 유용한 데이터를
5강. Servlet 본격적으로 살펴보기-I 프로젝트 만들기 doGet() doPost()
윤 홍 란 다이알로그(대화상자) 윤 홍 란
윤 홍 란 MFC 기초 윤 홍 란
Lab 2 Guide: 교재 3장 그래픽 예제 ( 쪽) - 펜과 브러시로 그리기 - 튀는 공
공통 컨트롤의 종류와 특징을 개관한다. 각종 공통 컨트롤의 사용 방법을 익힌다..
07. 메뉴와 대화상자 제목. 07. 메뉴와 대화상자 제목 메뉴를 작성하고 사용하는 방법을 배운다. 토스트의 다양한 출력 방법을 알아본다. 대화상자의 사용법을 익힌다.
Network Socket Programming
Microsoft Visual C++ 제 1편 입문편 5장. 샘플 프로그램의 사용자화
제4장 대화상자 4.1 CDialogEx 클래스 4.2 대화상자 기반의 프로그램 실습 4-1 MFC 기본 컨트롤 사용법 익히기
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
Visual Basic .NET 처음 사용하기.
1. C++ 시작하기.
FTP 프로그램 채계화 박재은 박수민.
NJM Messenger 박상원 박연호.
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
WinCE Device Driver 실습 #3
WinCE Device Driver 실습 #2
학습목표 학습목차 다른 홈페이지의 HTML 파일 코드를 보는 방법에 대해 알아봅니다.
분할 윈도, 다중 뷰… 영상 통신 연구실 권 동 진 발표 일 : 04월 27일.
Visual C++ Programming
Method & library.
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
자바응용.
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
1차 프로젝트 발표 GAME ENGINE 게임 공학과 이성진.
영상처리 실습 인공지능연구실.
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
Lab 1 Guide: 교재 2장 DrawX ( 쪽)
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
USN(Ubiquitous Sensor Network)
Lab 8 Guide: 멀티스레딩 예제 2 * Critical Section을 이용한 멀티스레딩 동기화 (교재 15장, 쪽)
자바 5.0 프로그래밍.
LabVIEW WiznTec 주임 박명대 1.
15강. 폼 데이터 값 검증 Validator를 이용한 검증 ValidationUtils 클래스
컴퓨터 프로그래밍 기초 [01] Visual Studio 설치 및 사용방법
( Windows Service Application Debugging )
학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성. 학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성.
가장 많이 사용 Accelerator 최상위 WM_COMMAND, OLE 메시지 관련 이벤트 처리만 가능 이 클래스를 상속받아서 다른 이벤트 처리 이벤트 처리 관련 윈도우(창) 최상위 클래스 멀티 테스킹(모듈) CFrameWnd, Cview,
3. 모듈 (5장. 모듈).
01. 분산 파일 시스템의 개요 네트워크에 분산된 파일을 사용자가 쉽게 접근하고 관리할 수 있게 해준다.
다자간 채팅프로그램 김형도 허영민
슬라이드 쇼의 설정 슬라이드 쇼의 실행 파일과 폴더의 관리 글꼴을 포함해서 저장 웹 페이지로 게시 압축 파일
동적메모리와 연결 리스트 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원 E304호,
채팅 및 파일전송 프로그램 권 경 곤 김 창 년.
프로젝트 결과 발표 네트워크정보통신과 강동성 이현미.
M.B.TEAM 중간 발표 (5.18) 이 제걸 백 인호.
Presentation transcript:

CH 1. MFC 전체보기 정보통신공학과 안 재 형

목 차 윈도우 프로그래밍 개요 MFC 프로그램 클래스 계승관계 SDI 프로그램 만들기 MDI 프로그램 만들기 목 차 윈도우 프로그래밍 개요 MFC 프로그램 클래스 계승관계 SDI 프로그램 만들기 MDI 프로그램 만들기 Dialog based 프로그램 HTML프로그램 예

Dos와 윈도우 비교 모니터 출력 모니터 출력 프로그램1 프로그램 커널 프로그램2 프로그램3 키보드 동작 키보드 동작 통신관계가 메시지 로 이루어지는 부분 프로그램1 프로그램 커널 프로그램2 프로그램3 키보드 동작 키보드 동작 REAL 모드 PROTECT 모드

Window API프로그램 Application Programming Interface 윈도우용으로 이용할 수 있는 함수 Win95에서 동작하는 모든 App 과 개발자를 위한 것 user32.dll 메시지와 메뉴, 커서, 통신, 타이머를 포함한 윈도우관리 책임 Gdi32.dll 비트맵, 장치 컨텍스트, 글꼴 등의 사용자 인터페이스와 그래픽 Kernel32.dll 메모리와 작업, 자원관리의 저차원 기능들을 처리

Windows Programming 의 특징 프로그램의 구조: Event Driven 방식 읽기 전용 데이타들을 리소스 형태로 프로그램 코드와는 별도로 보관 (메뉴, 아이콘, 커서, 비트맵, etc) Window API 함수들이 application과 동적으로 Link

Event Driven Programming - Window 프로시저 호출 - Event 처리

윈도우에서의 실행 파일 작성

함수,변수이름 명명법

윈도우 프로그램의 구성 WinMain 윈도우 프로시져 : 메시지 처리 윈도우 클래스 정의,등록 윈도우 생성, 화면에 표시 메시지 처리를 위해 메시지 루프의 실행 윈도우 프로시져 : 메시지 처리

윈도우 시스템 WinProc 메시지루프와 원도우 시스템 WinMain DispatchMessage GetMessage 메시지를 인수로 WndProc호출 WinMain TranslateMessage WinProc

MFC(Microsoft Foundation Class) 개발철학 윈도우 Application을 만들기 위한 노력의 최소화 C 언어로 된 API에 버금가는 실행속도, 코드 크기의 최소화 C++로 쉽게 이식할 수 있는 기능 제공. OLE와 데이터베이스 관련 기능 제공, 인쇄, 툴바, 상태바와 같은 복잡한 기능들을 더욱 쉽게 사용할 수 있으면서 보다 더 강력한 기능을 수행할 수 있도록 구성. C++ 언어의 특징을 효과적으로 사용한 C++를 위한 진정한 윈도우 API의 구현.

MFC(Microsoft Foundation Classes)

MFC 프로그램 제작과정 프로그램 작성 프로젝트 종료 File 메뉴의 New 항목을 이용하여 생성. 프로젝트를 생성 기존의 프로젝트가 있으면 프로젝트를 오픈. 클래스를 생성. 리소스를 생성, 기존의 내용을 수정, 프로그램 작성 프로젝트 종료 작업수정

PretranslateMessage() MFC 메시지 처리방법 CWinApp::Run 에서 메시지 처리 실제로 CWinThread::Run에서 메시지 처리 새로운 메시지 발생 적절히 변환 No No Yes OnIdle() GetMessage() OnIdle을 호출해야 하는가? 오버라이드 Yes Yes PretranslateMessage() No TranslateMessage() DispatchMessage()

MFC Application Architecture

화면 구성 Welcome 프로그래밍 CWinApp CFrameWnd CView CDocumet

Application Framework Action CWinApp 파생 클래스 CSingleDocTemplate 클래스 CFrmaeWnd 파생 클래스 CDocument 파생 클래스 CView 파생 클래스 MFC Application Framework 관련 클래스간의 관계(SDI경우)

Document/View 문서/뷰 구조 장단점 문서/뷰 구조 프로그램 개발시의 생산성 향상 개발자가 코딩할 함수의 분산 화 면 문서 객체 뷰 객체 프린터 아카이브 객체 일반 데이타

MFC Library 계층도

Application Framework의 구성 CWinApp 파생 클래스 : 프로그램을 등록 CFrameWnd 파생 클래스 : 프로그램 외곽을 둘러싸는 모든 것 CDocument 파생 클래스 : 데이터를 보관 CView 파생 클래스 : 실제 데이터 출력

화면에 보이는 CWnd 클래스 프레임 윈도우 클래스 (CFrameWnd ) View 윈도우 클래스 (CView) CFormView, CScrollView 대화형 다이얼로그 (CDailog) CFileDailog, CCommonDailog Controls

GDI 객체 클래스 GDI(Graphic Device Interface) 화면에 출력시킬 때 출력시키는 Video 페이지 ex)화면에 글자 출력시 TextOut(hdc, 0,0,temp,strlen(temp)); hdc; GDI핸들러 MFC에서는 CDC CDC의 하위 클래스 CClientDC 제목바와 외곽선등을 제외한 중앙의 상자영역 CWindowDC 전체 윈도우를 받을 때 CPaintDC WM_PAINT 메시지에 위하여 실행되는 MFC함수 CMetaFileDC

클래스간의 통신 일반적인 문서/뷰 구조 UpdateAllViews() 함수 호출하여 갱신 문서 객체 UpdateAllViews() 함수 호출하여 갱신 뷰 객체 GetDocument() 함수 호출하여 문서 객체의 데이터 참조 OnDraw() 함수로 클라이언트 영역 갱신

그 밖의 클래스 CFile CMenu CGdiObject 파일을 개폐하고 data를 파일에 기록할 때 등에 사용 즉 파일을 원활하게 컨트롤할 수 있도록 설계된 클래스 CMenu main 윈도우 안에 붙어 있는 메뉴도 직접 컨트롤할 수 있도록 구성된 클래스 CGdiObject 그래픽에 필요한 객체들. 선 Cpen 글자 설정 CFont 비트맵 출력시 CBitmap

SDI(Single Document Interface)프로그램(1) 한 개의 윈도우를 설정하는 Application 프로그램 작성시 필요 클래스 CWinApp : 프로그램을 연결하는데 사용 CFrameWnd : 프로그램의 프레임을 설정 CView : 클라이언트 창에서 화면구성 CDocument : 프로그램에서 사용하는 데이터저장 및 조절

SDI 프로그램 만들기(2)

MDI(Multiple Documents Interface) 프로그램(1) 구성 클래스 CWinApp에서 상속 받아 윈도우를 등록하고 메인 프로그램을 출력하는 클래스 CFrameWnd 클래스를 상속받아 매뉴와 도구바, 상태바를 포함하고 있는 프레임 윈도우 CChildFrame Cview를 감싸고 있는 프레임 윈도우 CView 클래스를 상속받아 윈도우안의 클라이언트 영역구성 CDocument 클래스를 상속받아 데이터를 저장

MDI 프로그램(2)

Dialog based 프로그램 만들기

HTML기반 프로그래밍 void CHtmlTestView::OnDraw(CDC* pDC) { CHtmlTestDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: add draw code for native data here } void CHtmlTestView::OnInitialUpdate() CHtmlView::OnInitialUpdate(); // TODO: This code navigates to a popular spot on the web. // change the code to go where you'd like. Navigate2(_T("http://viscom.chungbuk.ac.kr/"),NULL,NULL);

Visual C++ 6.0 의 나아진 기능 디버깅 시간이 반으로 줄었다.(Edit and Continue) 자동으로 문맥을 완성한다.(AutoCompletion) 향상된 HTML 도움말 폭 넓어진 기본 코드 생성 인터넷 지원함수