제2장 메시지 박스 프로그램cis.cju.ac.kr/wp-content/lecture-materials/windows... · 2020....

14
윈도우 프로그래밍 설계 청주대학교 융합전자공학부 전자공학전공 한철수 2장 메시지 박스 프로그램

Transcript of 제2장 메시지 박스 프로그램cis.cju.ac.kr/wp-content/lecture-materials/windows... · 2020....

Page 1: 제2장 메시지 박스 프로그램cis.cju.ac.kr/wp-content/lecture-materials/windows... · 2020. 9. 8. · 목차 2 • 메시지박스의개요 • 메시지박스프로그램작성연습1

윈도우 프로그래밍 설계

청주대학교 융합전자공학부 전자공학전공

한철수

제2장 메시지 박스 프로그램

Page 2: 제2장 메시지 박스 프로그램cis.cju.ac.kr/wp-content/lecture-materials/windows... · 2020. 9. 8. · 목차 2 • 메시지박스의개요 • 메시지박스프로그램작성연습1

목차

2

• 메시지 박스의개요

• 메시지 박스 프로그램 작성연습 1

• 메시지 박스 프로그램 작성연습 2

제2장

Page 3: 제2장 메시지 박스 프로그램cis.cju.ac.kr/wp-content/lecture-materials/windows... · 2020. 9. 8. · 목차 2 • 메시지박스의개요 • 메시지박스프로그램작성연습1

메시지 박스(Message Box)

3

• 사용자에게 정보를 전달하거나 질문하기 위한 작은 창(윈도우)을 메시지박스라 함.

• 메시지 박스 호출 함수‒ MessageBox 함수

• CWnd의멤버함수임.

‒ AfxMessageBox 함수• MFC 라이브러리에서제공되는전역함수임.

• 간단한 함수 구현으로 메시지박스를 출력할수 있음.

2.1절

Page 4: 제2장 메시지 박스 프로그램cis.cju.ac.kr/wp-content/lecture-materials/windows... · 2020. 9. 8. · 목차 2 • 메시지박스의개요 • 메시지박스프로그램작성연습1

MessageBox 함수

4

• 함수 프로토타입int MessageBox(

LPCTSTR lpszText,

LPCTSTR lpszCaption = NULL,

UINT nType = MB_OK

);

lpszText• CString과같은 메시지개체• 알림창본문 내용, (예) _T("목차")

lpszCaption• 메시지박스 창 제목지정• 생략 시 프로젝트명이 자동설정• 변경 시 다음과 같이설정, (예) _T("Title")

nType • 버튼 스타일과아이콘지정

참고: LPCTSTR = Long Pointer to a Const TCHAR STRing = const char*

2.1절

Page 5: 제2장 메시지 박스 프로그램cis.cju.ac.kr/wp-content/lecture-materials/windows... · 2020. 9. 8. · 목차 2 • 메시지박스의개요 • 메시지박스프로그램작성연습1

버튼 스타일과 반환값

5

• 버튼 스타일과반환값

MB_OK

MB_OKCANCEL

MB_YESNO

MB_YESNOCANCEL

MB_RETRYCANCEL

MB_ABORTRETRYIGNORE

IDABORT

IDRETRY

IDIGNORE IDRETRY

IDCANCEL

IDCANCELIDYES IDNO

IDYES IDNO

IDOK IDCANCEL

IDOK

2.1절

Page 6: 제2장 메시지 박스 프로그램cis.cju.ac.kr/wp-content/lecture-materials/windows... · 2020. 9. 8. · 목차 2 • 메시지박스의개요 • 메시지박스프로그램작성연습1

버튼 스타일과 반환값 정리

6

버튼 스타일 반환값

MB_OK IDOK

MB_OKCANCEL IDOK , IDCANCEL

MB_YESNO IDYES, IDNO

MB_YESNOCANCEL IDYES, IDNO, IDCANCEL

MB_RETRYCANCEL IDRETRY, IDCANCEL

MB_ABORTRETRYIGNORE IDABORT, IDRETRY, IDIGNORE

2.1절

Page 7: 제2장 메시지 박스 프로그램cis.cju.ac.kr/wp-content/lecture-materials/windows... · 2020. 9. 8. · 목차 2 • 메시지박스의개요 • 메시지박스프로그램작성연습1

아이콘

7

[위험] MB_ICONHAND, MB_ICONSTOP, MB_ICONERROR

[물음] MB_ICONQUESTION

[경고] MB_ICONEXCLAMATION, MB_ICONWARNING

[정보] MB_ICONASTERISK, MB_ICONINFORMATION

2.1절

Page 8: 제2장 메시지 박스 프로그램cis.cju.ac.kr/wp-content/lecture-materials/windows... · 2020. 9. 8. · 목차 2 • 메시지박스의개요 • 메시지박스프로그램작성연습1

버튼 스타일과 아이콘의 조합

8

• nType에 다양한 버튼 스타일과 아이콘을 조합해서 지정할 수있음.

MessageBox(_T("경고! 파일 포맷을 진행하겠습니까?"), NULL, MB_YESNO | MB_ICONEXCLAMATION);

2.1절

Page 9: 제2장 메시지 박스 프로그램cis.cju.ac.kr/wp-content/lecture-materials/windows... · 2020. 9. 8. · 목차 2 • 메시지박스의개요 • 메시지박스프로그램작성연습1

퀴즈

9

• 다음 메시지 박스에서 사용한 버튼 스타일과 아이콘 조합을 답하시오.

2.1절

Page 10: 제2장 메시지 박스 프로그램cis.cju.ac.kr/wp-content/lecture-materials/windows... · 2020. 9. 8. · 목차 2 • 메시지박스의개요 • 메시지박스프로그램작성연습1

AfxMessageBox 함수

10

• 함수 프로토타입int AfxMessageBox(

LPCTSTR lpszText,

UINT nType = MB_OK,

UINT nIDHelp = 0

);

lpszText • 출력하고자하는문자열. (예) _T("목차")

nType • 버튼 종류와아이콘모양을지정함.

nIDHelp • 연관된 도움말 ID. 기본 값 0은 기본 도움말을 사용함.

2.1절

참고: 교과서 53쪽

Page 11: 제2장 메시지 박스 프로그램cis.cju.ac.kr/wp-content/lecture-materials/windows... · 2020. 9. 8. · 목차 2 • 메시지박스의개요 • 메시지박스프로그램작성연습1

메시지 박스 프로그램 작성 연습 1

11

• 만들고자 하는프로그램

2.2절

버튼 클릭메시지박스 표시

버튼 클릭프로그램종료

Page 12: 제2장 메시지 박스 프로그램cis.cju.ac.kr/wp-content/lecture-materials/windows... · 2020. 9. 8. · 목차 2 • 메시지박스의개요 • 메시지박스프로그램작성연습1

메시지 박스 프로그램 작성 연습 2

12

• 만들고자 하는프로그램

• 프로그램의 버튼을누르면 메시지박스가 표시됨.

• 메시지 박스의 버튼을 누르면 어떤 버튼이 눌렸는지 에디트 컨트롤에 표시함.

2.3절

에디트컨트롤

Page 13: 제2장 메시지 박스 프로그램cis.cju.ac.kr/wp-content/lecture-materials/windows... · 2020. 9. 8. · 목차 2 • 메시지박스의개요 • 메시지박스프로그램작성연습1

버튼 처리

13

지역 변수를 선언함.

메시지 박스를 표시하고 , 사용자가클릭한 버튼에 대한 반환 값을iResults에저장함.

컨트롤 변수에 문자열을저장함.

컨트롤 변수에 저장되어 있는 값을화면에 표시함.

2.3절

Page 14: 제2장 메시지 박스 프로그램cis.cju.ac.kr/wp-content/lecture-materials/windows... · 2020. 9. 8. · 목차 2 • 메시지박스의개요 • 메시지박스프로그램작성연습1

질문

14

Q&A