Download presentation
Presentation is loading. Please wait.
Published byDjaja Susanto Modified 6년 전
1
윤 홍 란 hryun@sookmyung.ac.kr
다이알로그(대화상자) 윤 홍 란
2
개요 (1/2) 대화상자 다양한 컨트롤을 포함하고 있는 일종의 윈도우 사용자로부터 입력을 받거나 정보를 출력
3
개요 (2/2) 대화상자 종류 MFC 클래스 계층도 모드형(Modal) 대화상자 비 모드형(Modaless) 대화상자
대화상자를 닫지 않으면 응용 프로그램이 더 이상 진행할 수 없다. 비 모드형(Modaless) 대화상자 대화상자를 닫지 않더라도 응용 프로그램이 계속 진행할 수 있다. MFC 클래스 계층도
4
대화상자 편집기 (1/4)-리소스에디터 컨트롤 추가와 삭제 컨트롤(Controls) 툴바 이용
5
대화상자 편집기 (2/4)-리소스에디터 컨트롤 배치 대화상자(Dialog) 툴바 이용
6
대화상자 편집기 (3/4)-리소스에디터 탭 순서 Tab 키를 눌렀을 때 키보드 포커스가 이동하는 순서
[Layout]->[Tab Order] 메뉴를 이용하여 변경
7
대화상자 편집기 (4/4)-리소스에디터 폰트를 바꾸면 대화상자와 대화상자에 포함된
대화상자 속성 폰트를 바꾸면 대화상자와 대화상자에 포함된 컨트롤의 크기가 폰트의 크기에 비례해서 변경된다.
8
예제 : 다이알로그 어플리케이션 작성 반지름을 입력하고 계산 버튼을 누르면 원의 면적과 원의 둘레를 계산하는 프로그램, 지우기를 누르면 입력된 반지름값이 초기값인 10으로 바뀌고 계산되어져 있는 원의 둘레와 면적이 초기값으로 바뀐다.
9
워크스페이스 생성
10
다이알로그 어플리케이션 선택
11
특징 선택
12
프로젝트 스타일 선택
13
완료
14
AppWizard 생성 정보 출력
15
Class/resource/file view
16
다이알로그 화면 편집 - 리소스 에디터 리소스에디터를 이용하여 대화상자를 디자인한다. 1개 : edit box
6개 : static text 3개 : button 컨트롤 Property 내용 Edit Box ID IDC_radiusIN Button1 Caption IDOK 계산 Button2 IDC_button1 지우기 Button3 IDCANCEL 닫기
17
컨트롤 변수 부여 m_radius m_Rresult m_Aresult
18
컨트롤 변수 부여 반지름입력상자선택후 마우스 오른쪽 버튼 누르고 ->classWizard선택 int m_radius
19
변수의 validation체크 가능
20
변수 생성 확인
21
변수의 초기값 지정-OnInitDialog()
변수에 값이 기억되어있다 하더라고 그것을 화면에 보내주지 않으면 화면에 출력되지 않는다. – 그 역할을 하는 함수가 UpdateData()함수임 UpdateData()함수 FALSE : 변수를 관리하는 메모리에서 화면 출력을 담당하는 메모리로 값 전달 TRUE : 화면 출력을 담당하는 메모리에서 변수를 관리하는 메모리로 값이 전달
22
메시지 핸들러 추가
23
코드 추가
24
윤 홍 란 hryun@sookmyung.ac.kr
도큐먼트/뷰 어플리케이션 생성(SDI) 윤 홍 란
25
결과
26
다이알로그 상자 디자인
27
다이알로그 상자에 대한 클래스 생성 - MyCalc
마우스 오른쪽 버튼 누르고 -> ClassWizard
28
ClassWizard에서 Variable추가
29
메시지핸들러 추가 및 코드 추가
30
마우스 오른쪽 버튼->Properties
리소스에디터에서 메뉴 추가 마우스 오른쪽 버튼->Properties
31
CSDIView.cpp의 상단에 #include "MyCalc.h“ 를 반드시 추가해야 한다.
메뉴와 대화상자 연결 CSDIView.cpp의 상단에 #include "MyCalc.h“ 를 반드시 추가해야 한다.
32
결과
Similar presentations