Download presentation
Presentation is loading. Please wait.
1
Microsoft Visual C++ 제 1편 입문편 5장. 샘플 프로그램의 사용자화
6장. 작성한 프로그램을 Windows95에서 활용한다 7장. 프로그램을 해부하여 보자
2
샘플 프로그램 사용자화 SCRIBBLE 프로그램을 사용자화 하는 것 EX)
굵기와 색의 대화상자를 작성한다 대화상자를 메뉴에서 선택할 수 있게 한다 대화상자의 프로그램을 자동적으로 작성한다 작성한 대화상자의 프로그램 파일을 변경한다 SCRIBBLE의 본체 프로그램 파일을 변경한다 그림을 그리고 있는 동안에 원하는 색이나 굵기를 변경할 수 있게 SCRIBBLE 프로그램의 기능을 한 수준 올린다
3
1. 굵기와 색의 설정 대화상자 대화상자의 작성
4
1. 굵기와 색의 설정 대화상자 대화상자의 작성 최초의 대화상자 작성화면
5
1. 굵기와 색의 설정 대화상자 대화상자의 작성_작성중인 대화상자의 타이틀 바 문자열 설정
6
1. 굵기와 색의 설정 대화상자 대화상자의 작성_Static Text작성
7
: 대화상자에서 사용하는 Control가운데 결정된 문자열을 표시하기 위한 컨트롤
1. 굵기와 색의 설정 대화상자 대화상자의 작성_Static Text 문자 변경 Static Text 란? : 대화상자에서 사용하는 Control가운데 결정된 문자열을 표시하기 위한 컨트롤
8
1. 굵기와 색의 설정 대화상자 대화상자의 작성_Edit Box 만들기 Edit Box 란?
: 사용자가 문자열을 입력하기 위한 컨트롤
9
: 여러 개의 선택 항목 중에서 한 개의 항목을 선택하는 버튼
1. 굵기와 색의 설정 대화상자 대화상자의 작성_Radio Button 4개 작성 Radio Button 란? : 여러 개의 선택 항목 중에서 한 개의 항목을 선택하는 버튼
10
1. 굵기와 색의 설정 대화상자 대화상자의 작성_Group Box Group Box 란?
: 라디오 버튼 등 복수 컨트롤을 정리하여 하나의 사항을 결정하는 경우, 어디까지가 한 개로 정리한 것인가를 알기 쉽게 하기 위함
11
1. 굵기와 색의 설정 대화상자 대화상자의 작성_작성중인 대화상자 미리보기[Ctrl+T]
12
2. 대화상자를 메뉴에서 선택 Visual C++의 Workspace Window 조작 더블클릭
13
2. 대화상자를 메뉴에서 선택 메뉴바 편집
14
2. 대화상자를 메뉴에서 선택 메뉴바 편집
15
2. 대화상자를 메뉴에서 선택 메뉴바 편집 드래그
16
Resource 란? Windows 프로그램 작성시 그 프로그램에서 사용하는 대화상자나 메뉴와 같은 부품 종류들의 요약
대화상자, 메뉴, 아이콘, 비트맵, 문자열등이 있음
17
3. 대화상자의 프로그램을 자동으로 작성 대화상자를 나타내기 위한 프로그램 파일 작성
18
3. 대화상자의 프로그램을 자동으로 작성 대화상자를 나타내기 위한 프로그램 파일 작성
19
3. 대화상자의 프로그램을 자동으로 작성 대화상자를 나타내기 위한 프로그램 파일 작성
최소치 1, 최대치 20 : 펜 굵기의 숫자 범위
20
4. 작성한 대화상자의 프로그램 파일 변경 PenWidthsDlg.cpp파일의 수정
21
4. 작성한 대화상자의 프로그램 파일 변경 PenWidthsDlg.h 파일의 수정 확장자가 .h인 파일
22
5. SCRIBBLE 본체 프로그램 파일 변경 ScribDoc.cpp 파일의 수정
[펜(P)]메뉴의 [펜설정(S)]을 선택할 때 호출되는 멤버함수를 위함
23
5. SCRIBBLE 본체 프로그램 파일 변경 ScribDoc.cpp 파일의 수정
24
5. SCRIBBLE 본체 프로그램 파일 변경 추가 부분
25
5. SCRIBBLE 본체 프로그램 파일 변경 추가 부분
26
5. SCRIBBLE 본체 프로그램 파일 변경 추가 부분 추가 부분
27
5. SCRIBBLE 본체 프로그램 파일 변경 추가 부분
28
5. SCRIBBLE 본체 프로그램 파일 변경 ScribDoc.h 파일의 수정
29
5. SCRIBBLE 본체 프로그램 파일 변경 추가 부분 추가 부분
30
Build & 실행
31
Visual C++ 프로그램의 기본 3가지 지식
Class란? 개체 지향 프로그래밍의 핵심이 되는 것으로, C언어의 구조체나 Visual Basic의 구조체의 기능이 큰 폭으로 확장 된 것 Window 프로그램의 동작을 지배하는 메시지의 움직임 Window 프로그램을 구성하는 각종 부품의 집합체, 즉 MFC
32
Class 와 개체 예로서, 컴퓨터 상에서 인간을 표현 C++ 언어에 대한 클래스
사람{ 고유값: 이름; 연령; 신장; 체중; . 동작: 밥을 먹는다{제중이 증가하고 용돈이 감소한다}; 잔다{이불이나 침대에 들어간다}; } C++ 언어에 대한 클래스 표현할 대상을 그 고유의 값(멤버변수)과 가능한 동작(멤버함수) 2종류의 정보에 의하여 표현 한 것 개체(object) -class 를 구현화한 무언가가 존재 개체정의(Object Definition) -class 개체가 컴퓨터 상에 마련됨 사람 순이; 사람 철수;
33
Windows 프로그램은 어떻게 움직이나? Windows 프로그램의 동작은 Message라는 것으로 제어 메시지에 의한
프로그램 실행 표시 안녕 호출 OnCmdHello 함수 메세지 클릭 메시지 박스를 표시 Hello World ! OK
34
MFC가 제공하는 부품 윈도 타이틀/ 경계선/ 최대화 버튼 등의 윈도의 틀
텍스트 그래픽을 표시하거나 사용자의 조작을 받는 윈도의 내부 프로그램이 관리하는 데이터 버튼이나 에디트 박스 등의 컨트롤 브러시나 펜 등의 GDI(Graphic Device Interface) 개체 기타
35
윈도 틀- Frame Window Class
SDI 프로그램의 Frame window MDI 프로그램의 부모 윈도의 Frame window MDI 프로그램의 자식 윈도의 Frame window
36
윈도 틀- Frame Window Class
DFrameWnd Class : Frame window 관리 CMDIFrameWnd Class : MDI 프로그램의 가장 바깥의 frame window를 관리 CMDIChildWnd Class : MDI 프로그램의 자식 윈도의 frame window를 관리 CMiniFrameWnd Class : SDI 프로그램의 프레임 윈도를 관리 COlelFrameWnd Class : OLE 대응 프로그램을 작성할 때에 사용 클래스명 앞에 붙는 ‘C’는 ‘Class’를 의미
37
윈도의 내부- View Class View Class
Window 프로그램은 Frame window에 둘러싸인 윈도 내부(클라이언트 영역)를 사용하여, 사용자와 대화(주고받기) 클라이언트 영역을 관리하기 위한 클래스 CFormView의 개체에 붙여진 컨트롤
38
윈도의 내부- View Class MFC에서 제공하는 View Class
CView Class : CWnd Class에서 파생. View Class가 갖는 기능의 기본적인 부분을 제공 CCtrlView Class : CView Class에서 파생. CEditView, CListView, CTreeView, CRichEditView의 기저 클래스로서만 존재 CEditView Class : CCtrlView Class에서 파생. 텍스트의 편집/ 문자열 검색, 복사와 붙여넣기 등을 간단하게 추가 함 CListView Class : CCtrlView Class에서 파생. 아이콘을 사용한 아이템의 리스트를 표시 CTreeView Class : CCtrlView Class에서 파생. 아이콘을 사용한 아이템의 리스트를 계층 구조로 하여 표시
39
윈도의 내부- View Class MFC에서 제공하는 View Class
CRichEditView Class : CCtrlView Class에서 파생. CEditView 클래스와 거의 비슷 CScrollView Class : CView Class에서 파생. Cview 클래스에 스크롤 기능을 추가 CFormView Class : CScrollView Class에서 파생. 뷰에 버튼이나 에디트 박스 등을 이용한 사용자 인터페이스를 구축하는 데 사용 CDaoRecordView Class : CFormView Class에서 파생. DAO 데이터 베이스의 레코드를 표시하기 위하여 사용 CRecordView Class : CFormView Class에서 파생. OBDC 데이터 베이스의 레코드를 표시하기 위하여 사용
40
GDI 개체 화면에 그래픽을 출력하기 위해서 GDI (Graphic Device Interface) 개체를 이용
MFC에서 제공하는 GDI 개체 CGdiObject Class : GDI 개체로서의 기본적인 기능을 제공하고, 다음 클래스의 기저 클래스 역할 CPen Class CBrush Class CBitmap Class CFont Class CPalette Class CRgn Class
41
컨트롤과 대화상자 컨트롤 : 대화상자나 뷰 상에 붙여진 버튼이나 에디트 박스, 리스트 박스, 콤보 박스 등을 말함
MFC제공하는 컨트롤 관련 Class CDialog Class : 모든 대화상자의 기본이 되는 클래스, 대화상자를 취급하기 위한 함수를 제공 CButton Class - CEdit Class CListBox Class - CComboBox Class CStatic Class - CAnimatedCtrl Class CListCtrl Class - CTreeCtrl Class CProgressCtrl Class - CRichEditCtrl Class CSlideCtrl Class - CToolTipCtrl Class
42
프로그램이 관리하는 데이터 MFC제공하는 데이터 관련 Class 메모리(RAM) 상에 로드되어 현재 사용하고 있는 데이터
하드 디스크 등의 외부 기억장치에 데이터 파일로서 저장되어 있는 데이터 MFC제공하는 데이터 관련 Class CDocument Class : 프로그램이 사용하는 데이터를 관리하기 이한 클래스, 뷰 클래스와 관련 깊음 CArchive Class : CDocument Class가 관리하는 데이터와 파일 사이의 입출력을 할 때에 이용 CFile Class : CObject에서 파생한 파일을 취급하기 위한 클래스. CArchive Class의 개체도 내부적으로는 CFile Class 의 개체를 이용하여 도큐먼트와 파일 사이의 주고 받기를 수행
43
MFC를 사용한 Window 프로그램의 기본 구성
Hello 프로젝트를 구성하는 파일들
44
MFC를 사용한 Window 프로그램의 기본 구성
Hello.h 와 Hello.cpp : CHelloApp 클래스 프로그램 전체에 이용되는 데이터를 관리 MainFrm.h 와 MainFrm.cpp : CMainFrame 클래스 프레임 윈도에 대한 조작을 처리 HelloView.h 와 HelloView.cpp : CHelloView 클래스 클라이언트 영역에 대한 조작을 처리 HelloDoc.h 와 HelloDoc.cpp : CHelloDoc 클래스 도큐먼트를 관리
Similar presentations