제4장 대화상자.

Slides:



Advertisements
Similar presentations
1/ 편집 기능 사용하기 – 실습 1 글자 모양을 바꾸고 싶은 곳을 블록 설정 [ 글자 모양 ] 대화 상자에서 [ 글꼴 ] ‘ 궁서체 ’, [ 글자 색 ] ‘ 토마토색 ’ 으로 선택 → [ 설정 ] 클릭 → 글자 모양 변경.
Advertisements

1/29 키보드로 직접 입력할 수 없는 다양한 기호와 한자를 입력하는 방법을 알아 보자. 또한 블록으로 영역을 설정하는 여러 가지 방법에 대해 살펴본 후 블록 으로 설정된 내용을 복사하여 붙여넣거나, 잘라내고 이동하는 방법에 대해서 도 알아보자. 02_ 문서의 입력과 편집.
1/37 한글에는 전문적인 문서 편집을 위한 고급 기능이 있다. 문서를 편리하게 수 정할 수 있도록 도와주는 찾기 / 찾아 바꾸기, 다른 위치로 이동할 수 있는 책 갈피와 하이퍼링크에 대해 알아보자. 그리고 자주 사용하는 서식을 미리 정 해 놓고 쓰는 스타일 활용법과 스타일이.
Windows XP SP2 문제해결 Windows XP SP2를 설치한 회원께서는 Pop-up차단 기능과 ActiveX 설치의 어려움 발생 아래의 예는 안철수 바이러스 설치 시 문제점을 해결 하는 방법의 설명. 1. ActiveX 컨트롤 설치 ① 주소 표시줄 아래의 '이.
윈도우 프로그래밍 실습 김 창 헌.
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
목차 Contents 무선인터넷용 비밀번호 설정방법 Windows 7 Windows 8 Windows XP MAC OS.
Lab 10 Guide: 프린터 출력 예제. 한 페이지의 그림 인쇄 (교재 24장, 쪽)
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
新 연구관리 프로그램 SAP 설치 안내 1. SAP GUI 7.3 설치 2전자증빙 솔루션 설치 배포 :
Kim Yeon Hee 제4_1장 대화상자 Kim Yeon Hee
Index SendMemo 기능 Q & A 팀 소개 배경 및 목적 구현
New MapTool manual Kim Dong-Sung.
대화 상자기반 응용프로그램을 연습한다. 공통 대화상자를 다루는 방법을 배운다.. Chapter 06. 공통 대화상자 Section 01 공통 대화상자 클래스 Section 02 색상 대화상자 Section 03 파일 대화상자 Section 04 폰트 대화상자.
Image & Video processing
Power Java 제3장 이클립스 사용하기.
윤 홍 란 다이알로그(대화상자) 윤 홍 란
공통 컨트롤의 종류와 특징을 개관한다. 각종 공통 컨트롤의 사용 방법을 익힌다..
Outlook Express 메일 백업 및 복원가이드
07. 메뉴와 대화상자 제목. 07. 메뉴와 대화상자 제목 메뉴를 작성하고 사용하는 방법을 배운다. 토스트의 다양한 출력 방법을 알아본다. 대화상자의 사용법을 익힌다.
마우스(Mouse) 다루기 컴퓨터응용 및 실습 I.
제4장 대화상자 4.1 CDialogEx 클래스 4.2 대화상자 기반의 프로그램 실습 4-1 MFC 기본 컨트롤 사용법 익히기
대화상자 편집기의 사용법을 익힌다. 모드형 대화상자와 비 모드형 대화상자의 차이점을 이해하고 작성 방법을 익힌다.
Visual Basic .NET 처음 사용하기.
3.2 SQL Server 설치 및 수행(계속) 시스템 데이터베이스 master
Communication and Information Systems Lab. 황재철
1. C++ 시작하기.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
제 2 장 WML 시뮬레이터 및 무선인터넷 서버 설치
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
메시지 큐[5] – test1.c 메시지 제어: msgctl(2) #include <sys/msg.h>
학습목표 학습목차 다른 홈페이지의 HTML 파일 코드를 보는 방법에 대해 알아봅니다.
분할 윈도, 다중 뷰… 영상 통신 연구실 권 동 진 발표 일 : 04월 27일.
10장 컴퓨터 기반 데이터 획득 응용 프로그램 LabVIEW 사용법
환경 설정 예제 데이터베이스 생성 - 그림 3.34의 SQL Server 관리 스튜디오 창의 왼쪽 영역의 데이터베
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
4. 대화상자와 Resource 최 영 석.
2015학년도 PHP 기말 레포트 로그인 홈페이지 제작.
이메일 자동 포워딩 방법 (Outlook/OWA)
홀인원2.0 설치 메뉴얼.
WZC 무선 연결 방법 (Windows XP Ver.).
Lab 1 Guide: 교재 2장 DrawX ( 쪽)
2 보안 1 도구 윈도우 XP > 온밀크 프로그램 설치 장애 (보안 설정) / 품목추가 깨질 때 장애증상
윈도우 컨트롤.
3D 프린팅 프로그래밍 01 – 기본 명령어 강사: 김영준 목원대학교 겸임교수.
Moving Control in Web using Ajax Toolkit
8장. spss statistics 20의 데이터 변환
7주차 실습 FPGA 보드 사용법.
CHAP 21. 전화, SMS, 주소록.
화상대화 매뉴얼 한국지역정보개발원.
11. 어댑터뷰 제목. 11. 어댑터뷰 제목 리스트뷰와 그리드뷰 활용법을 배운다. 갤러리와 스피너의 사용법을 익힌다.
학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성. 학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성.
청각장애인용 APP 구성 및 사용법.
단축키 기능 1. 단축키 기능 설명 Alt + R 조회 S 저장 I 삽입 A 추가 D 삭제 P 출력 Q 닫기
Chapter 03 윈도 폼 컨트롤 1.
영상처리 실습 (OpenCV + MFC) Chonbuk National University A.I. Lab.
.Net Web Application 2007 컴퓨터공학실험(Ⅰ)
가장 많이 사용 Accelerator 최상위 WM_COMMAND, OLE 메시지 관련 이벤트 처리만 가능 이 클래스를 상속받아서 다른 이벤트 처리 이벤트 처리 관련 윈도우(창) 최상위 클래스 멀티 테스킹(모듈) CFrameWnd, Cview,
메뉴(Menu) 컴퓨터응용 및 실습 I.
01. 분산 파일 시스템의 개요 네트워크에 분산된 파일을 사용자가 쉽게 접근하고 관리할 수 있게 해준다.
기초C언어 제2주 실습 프로그래밍의 개념, 프로그램 작성 과정 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
시스템 인터페이스 Lab1 X-window 및 명령어 사용.
9 브라우저 객체 모델.
슬라이드 쇼의 설정 슬라이드 쇼의 실행 파일과 폴더의 관리 글꼴을 포함해서 저장 웹 페이지로 게시 압축 파일
Android -Data Base 윤수진 GyeongSang Univ. IT 1.
Power Point 예제 디자인 적용 (서식) - (디자인적용) - (원하는 디자인 선택)
7 생성자 함수.
Chapter 11. 문서 인쇄 및 파일 형식.
BoardGame 보드게임 따라가기.
Presentation transcript:

제4장 대화상자

대화상자 대화상자 CDialogEx 클래스 사용자와 윈도우간의 인터페이스 대화상자는 CDialogEx 클래스로 정의 모든 윈도우 메시지 처리 가능 배경색과 배경그림 바꾸는 기능 추가 SetBackgroundColor() SetBackgroundImage()

대화상자 대화상자의 계층도

대화상자 다이얼로그 기반의 프로그램 애플리케이션 클래스와 다이얼로그 클래스로 구성 클래스 기저 클래스 설 명 CWinApp 프로젝트 전체를 관리하는 클래스 다이얼로그 클래스 CDialogEx 대화상자의 기능을 구현하는 실제적인 클래스 도움말 대화상자 클래스 도움말 정보 클래스

대화상자 대화상자 프로그램의 동작

MFC 기본 컨트롤 Static Text Edit Control Group Box 화면에 문자열을 배치할 때 사용하는 컨트롤 문자열을 입력하고 편집할 수 있는 컨트롤 Group Box 서로 연관된 컨트롤을 시각적으로 그룹 지어 다른 컨트롤과 구분하는 용도로 사용 그룹 박스로 묶는다고 기능은 변경되지 않음

MFC 기본 컨트롤 Button Control Check Box 마우스로 클릭하여 어떤 동작을 수행하는 용도로 사용하는 컨트롤 마우스로 클릭하여 어떤 동작을 수행하는 용도로 사용하는 컨트롤 Check Box 버튼 컨트롤의 일종으로 독립적인 옵션을 선택할 때 사용하는 컨트롤 마우스로 클릭하면 체크표시가 on/off 됨 여러 옵션 중 임의의 개수를 선택할 때 사용

MFC 기본 컨트롤 Radio Button List Box 버튼 컨트롤의 일종으로 상호 배타적인 옵션을 선 택할 때 사용하는 컨트롤 마우스로 클릭하면 라디오 표시가 on/off 됨 여러 옵션 중 하나 만 선택할 때 사용 List Box 여러 개의 선택 항목을 나열하고 선택할 수 있도록 해주는 컨트롤 하나 도는 여러 개를 선택할 수 있음

MFC 기본 컨트롤 Combo Box 리스트 박스의 단점을 해결한 것으로 에디트 컨트롤과 리스트 박스를 합쳐 놓은 모양 리스트 박스의 단점을 해결한 것으로 에디트 컨트롤과 리스트 박스를 합쳐 놓은 모양 기존의 항목을 선택할 때는 아래의 리스트 박스에서 선택 직접 입력할 경우는 에디트 컨트롤에서 입력할 수 있음 리스트 박스를 평소에 닫아두기 때문에 화면면적을 넓게 차지하지 않음.

실습 4-1 MFC 기본 컨트롤 사용법 익히기 이번 실습에는 MFC 에서 가장 많이 사용되는 기본 컨트롤들을 이용하여 메인 대화상자를 만들고 사용자들의 컨트롤 사용에 따라 컨트롤의 동작을 List Box에 출력하고 Combo Box에 저 장하고 삭제할 수 있는 프로그램을 작성하는 것이다.

실습 4-1 실행 결과

실습 4-1 프로그램 작성 순서 다이얼로그 기반의 프로젝트 생성한다. 메인 대화상자의 폼을 구성한다. 컨트롤들을 배치하고 속성을 설정한다. 컨트롤들을 멤버 변수와 연결한다. 각 컨트롤에 대한 메시지 핸들러 함수를 생성 프로그램을 실행한다

실습 4-1 대화상자의 폼 구성 왼쪽의 컨트롤 도구상자에서 컨트롤들을 선택하여 오른쪽 대화상자와 같이 배치한다.

실습 4-1 컨트롤을 멤버변수와 연결하는 방법 DDX를 이용하는 방법 Value : Control : 컨트롤에 설정되어 있는 값만 연결 DDX_Text 계열 함수를 이용하여 자원에 연결 Control : 해당 컨트롤을 제어할 수 있는 컨트롤 클래스와 연결 DDX_Control 계열 함수를 이용하여 자원에 연결

실습 4-1 컨트롤을 멤버변수와 연결하는 방법 컨트롤의 핸들로 클래스와 연결하는 방법 컨트롤의 핸들을 얻기 위해 컨트롤의 포인터를 받 을 포인터 변수를 선언 GetDlgItem() 함수를 이용하여 컨트롤의 포인터 를 선언된 포인터 변수에 치환한다. 클래스의 멤버를 이용하여 컨트롤을 다룬다. 예) CListBox *pList; pList = (CListBox *)GeDlgItem(IDC_LIST1); pList->AddString(“데이터”);

실습 4-1 Visual C++에서 DDX로 연결하는 방법 클래스 마법사에서 [멤버 변수]탭에서 컨트롤 ID를 선택하고 [변수추가]버튼을 누른다 Ctrl키를 누른 상태에서 해당 컨트롤을 더블클릭한다. [멤버 변수 이름] 항목에 멤버 변수 이름을 입력 [범주]항목에서 value로 연결할 것이지 control를 연결할 것인 지 선택 Value로 연결할 경우 변수형식을 선택

실습 4-1 DoDataExchange() 함수 대화상자의 여러 자원을 연결하는 기능을 하는 함수 이 함수 안에는 DDX_Text 함수나 DDX_Control 함수를 이용하 여 자원과 연결 DDX_Control 형태로 연결되었을 경우는 변수가 클래스로부터 상속 받았으므로 클래스의 멤버 함수를 마음대로 사용할 수 있 다.

실습 4-1 UpdateData() 함수 DDX_Value 형태로 연결되었을 경우는 UpdateData() 함수를 사용하여 자원을 update하여야 한다. 컨트롤에 있는 데이터를 변수에 가져오고자 한다면 UpdateData(TRUE)를 사용한다. 변수에 특정 값을 주고 그 값을 컨트롤에 보내고 싶다면 UpdateData(FALSE)를 사용한다.

실습 4-1 CListBox 클래스의 주요 멤버 함수 GetCount( )함수 AddString( ) 함수 GetText( )함수 ListBox로부터 문자열을 얻어올 때 사용되는 함수 DeleteString( ) 함수 ListBox의 아이템을 삭제할 때 사용하는 함수

실습 4-1 CComboBox 클래스의 주요 멤버 함수 ResetContent( )함수 AddString( ) 함수 GetCurSel( )함수 ComboBox에서 선택된 항목의 색인을 반환하는 함수

대화상자 모달(Modal) 대화상자 모달 대화상자가 출력되면 부모 윈도우에서 작업을 할 수 없다. 모달 대화상자를 닫아야 부모 윈도우에 포커스를 둘 수 있다. DoModal()함수를 이용하여 출력한다.

대화상자 모덜리스(Modeless) 대화상자 모달 대화상자와는 달리 모덜리스 대화상자는 닫지 않고도 애 플리케이션 내의 다른 윈도우에서 작업할 수 있고 다시 대화상 자로 돌아와 작업할 수 있는 대화상자 모덜리스 대화상자의 생성 방법 대화상자에 대한 변수 선언 Create()함수를 이용하여 대화상자 생성 생성한 대화상자를 화면에 표시

대화상자 모덜리스 대화상자의 생성의 예 CExDialogDlg m_Dlg; m_Dlg.Create(IDD_EXDIALOG, this); ….. m_Dlg.ShowWindow(SW_SHOW) Create()의 첫 번째 인수는 대화상자의 ID Create()의 두 번째 인수는 부모 윈도우의 포인터

공용 대화상자 CFileDialog pDlg(TRUE); pDlg.DoModal(); File 대화상자 생성자 함수에서 다음과 같이 호출 CFileDialog pDlg(TRUE); pDlg.DoModal(); TRUE : Open 대화상자, FALSE : SaveAS 대화상자.

공용 대화상자 CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, LPCTSTR lpszFilter = NULL, CWnd* pParentWnd = NULL );

공용 대화상자 char Filter[ ] = "Text File(*.txt) | *.txt| 모든 파일(*.*)|*.*|"; Open 대화상자 출력 예 char Filter[ ] = "Text File(*.txt) | *.txt| 모든 파일(*.*)|*.*|"; CFileDialog pDlg(TRUE, "text file(*.txt)", "*.txt", OFN_HIDEREADONLY | OFN_FILEMUSTEXIST, Filter, NULL); if(pDlg.DoModal() == IDOK) { data = pDlg.GetPathName(); … }

공용 대화상자 char Filter[ ] = "Text File(*.txt) | *.txt| 모든 파일(*.*) |*.*|"; Save 대화상자 출력 예 char Filter[ ] = "Text File(*.txt) | *.txt| 모든 파일(*.*) |*.*|"; CFileDialog pDlg(FALSE, "text file(*.txt)", "*.txt", OFN_HIDEREADONLY | OFN_FILEMUSTEXIST, Filter, NULL); if(pDlg.DoModal() == IDOK) { data = pDlg.GetPathName(); … }

공용 대화상자 주로 텍스트 기반 애플리케이션에서 사용 Font 대화상자 주로 텍스트 기반 애플리케이션에서 사용 Font 대화상자는 텍스트의 글꼴, 크기, 문자 속성 등 을 지정할 수 있는 대화상자 해당 클래스는 CFontDialog

공용 대화상자 Font 대화상자 출력하는 방법 Font를 받는 방법 CFontDialog fontDlg; fontDlg.DoModal(); Font를 받는 방법 폰트 구조체로 받음 LOGFONT logfont; fontDlg.GetCurrentFont(&logfont); 실제 글꼴 생성 CFont font; font.CreateFontIndirect(&logfont); 현재 DC의 글꼴을 선택함으로써 글꼴을 사용할 수 있다

공용 대화상자 Color 대화상자 사용자에게 색상을 선택하게 하는 대화상자 해당 클래스는 CColorDialog

공용 대화상자 If (colorDlg.DoModal() == IDOK) { CColorDialog colorDlg; If (colorDlg.DoModal() == IDOK) { COLORREF m_color = colorDlg.GetColor(); }

실습 4-2 단위 변환 프로그램 만들기 이번 실습에서는 대화상자 기반으로 하여 단위 변환이 가 능한 대화상자를 만들고 변환 단위 표를 열람하는 프로그 램을 작성할 것이다. Edit Control를 통해 현재 값을 입력하 고, ComboBox에 저장 되어있는 단위들을 선택하여 현재 단위에서 다른 단위로 변환이 가능하게 할 것이다. 변환하 고 싶은 단위 표를 열람하기 위해서 모덜리스 대화상자를 이용할 것이다.

실습 4-2 실행 결과

실습 4-2 프로그램 작성 순서 대화상자 기반의 프로젝트 생성한다. 메인 대화상자의 폼을 구성한다. 컨트롤들을 배치하고 속성을 설정한다. 각각 컨트롤들을 멤버 변수와 연결한다. Radio Button 컨트롤에 대한 메시지 핸들러 함수를 생성 값을 변환하기 위한 Button 컨트롤에 대한 메시지 핸들러 함수 를 생성

실습 4-2 변환 단위표를 열람할 수 있는 모덜리스 대화상자를 생성 모덜리스 형식으로 [변환 단위표]를 출력 새로운 대화상자를 생성하고, 속성을 설정 새로 생성된 대화상자에 컨트롤을 배치 새로 만든 대화상자 자원을 다룰 클래스를 생성 모덜리스 형식으로 [변환 단위표]를 출력 프로그램을 실행한다

실습 4-2 CWnd 클래스 멤버 함수 GetWindowRect( ) 함수 MoveWindow( ) 함수 윈도우의 크기를 알기 위해 사용하는 함수 MoveWindow( ) 함수 윈도우의 위치와 크기를 변경하는 함수

연습문제 4-1 표준 컨트롤을 이용한 데이터 이동 가능 대화상자 만 들기 대화상자에 있는 버튼을 이용하여 에디트 박스에 데이터를 입 력하고 배치되어 있는 버튼을 누르면 데이터가 이동, 복사가 되는 간단한 데이터 복사 이동 프로그램을 작성하라.

연습문제 4-1 실행 결과 데이터 입력 및 복사 데이터 입력 및 이동