MessageBox

MessageBox 함수 만들고 표시 하 고 메시지 상자를 운영 하 고. 메시지 상자는 응용 프로그램 정의 메시지 및 제목, 미리 정의 된 아이콘 및 푸시 버튼의 조합 포함.

int MessageBox ( HWND  hWnd, / / 소유자 창 처리LPCTSTRlpText, / / 주소 메시지 상자에 텍스트의LPCTSTRlpCaption, / / 주소 메시지 상자 제목UINTuType / / 스타일 메시지 상자);
 

매개 변수

hWnd
만들 메시지 상자의 소유자 창을 식별 합니다. 메시지 상자에 소유자 창이 없습니다이 매개 변수가 NULL 인 경우.
lpText
표시할 메시지를 포함 하는 null로 끝나는 문자열에 대 한 포인터.
lpCaption
대화 상자 제목에 사용 되는 null로 끝나는 문자열 포인터입니다. 이 매개 변수가 NULL 이면 기본 제목 오류 사용.
uType
내용을 결정 하는 비트 플래그 집합 및 대화 상자의 동작을 지정 합니다. 이 매개 변수는 플래그 플래그의 다음 그룹에서의 조합 될 수 있습니다.

메시지 상자에 포함 된 단추를 나타내는 다음 플래그 중 하나를 지정합니다:
플래그 의미
MB_ABORTRETRYIGNORE 세 개의 푸시 버튼을 포함 하는 메시지 상자: 중단, 다시 시도 및 무시.
MB_OK 한 누름 단추를 포함 하는 메시지 상자: 확인을 합니다. 이것은 기본값.
MB_OKCANCEL 두 개의 푸시 버튼을 포함 하는 메시지 상자: 확인 및 취소.
MB_RETRYCANCEL 두 개의 푸시 버튼을 포함 하는 메시지 상자: 다시 시도 및 취소.
MB_YESNO 두 개의 푸시 버튼을 포함 하는 메시지 상자: 예 및 아니요.
MB_YESNOCANCEL 세 개의 푸시 버튼을 포함 하는 메시지 상자: 예, 아니요 및 취소.

메시지 상자에 아이콘을 표시 하려면 다음 플래그 중 하나를 지정합니다:
플래그 의미
MB_ICONEXCLAMATION,
MB_ICONWARNING
메시지 상자에 느낌표 아이콘이 표시 됩니다.
MB_ICONINFORMATION, MB_ICONASTERISK
메시지 상자에는 소문자 원으로 구성 된 아이콘이 표시 됩니다.
MB_ICONQUESTION 메시지 상자에 물음표 아이콘이 표시 됩니다.
MB_ICONSTOP,
MB_ICONERROR,
MB_ICONHAND
메시지 상자에 중지 기호 아이콘 표시.

기본 단추를 나타내는 다음 플래그 중 하나를 지정합니다:
플래그 의미
MB_DEFBUTTON1 첫 번째 단추는 기본 단추.

MB_DEFBUTTON1 MB_DEFBUTTON2, MB_DEFBUTTON3, 또는 mb_defbutton4를 지정 하지 않으면 기본값은입니다.

MB_DEFBUTTON2 두 번째 단추는 기본 단추.
MB_DEFBUTTON3 세 번째 단추는 기본 단추.
MB_DEFBUTTON4 네 번째 단추는 기본 단추.

모달 대화 상자를 나타내려면 다음 플래그 중 하나를 지정합니다:
플래그 의미
MB_APPLMODAL 사용자는 hWnd 매개 변수에 의해 식별 된 창에서 작업을 계속 하기 전에 메시지 상자에 응답 해야 합니다. 그러나 사용자 수 있습니다 다른 스레드 창을 이동 하 고 그 윈도우에서 작동 하는,.

Windows 응용 프로그램의 계층 구조에 따라 사용자는 스레드 내에서 다른 창으로 이동할 수 있습니다. 메시지 상자의 상위 모든 자식 창을 자동으로 비활성화 됩니다, 하지만 팝업 창이 되지 않습니다.

MB_APPLMODAL MB_SYSTEMMODAL도 MB_TASKMODAL를 지정 하는 경우 기본값은입니다.

MB_SYSTEMMODAL 메시지 상자는 WS_EX_TOPMOST 스타일 제외 하 고는 MB_APPLMODAL와 동일 합니다. 시스템 모달 메시지 상자를 사용 하 여 (예: 메모리 부족 실행) 즉각적인 주의가 필요한 오류를 잠재적으로 손상의 심각한, 사용자에 게 알립니다. 이 플래그는 hWnd 와 관련 된 이외의 다른 창과 상호 작용 하는 사용자의 능력에는 영향을 주지 않습니다.
MB_TASKMODAL HWnd 매개 변수가 NULL 이면 현재 스레드에 속하는 모든 최상위 창을 사용할 수 있다는 점을 제외 하면 MB_APPLMODAL와 동일 합니다. 이 플래그를 사용 하 여 호출 응용 프로그램이 나 라이브러리 창 핸들을 사용할 수 없는 있지만 여전히 다른 스레드를 일시 중단 하지 않고 호출 하는 스레드에서 다른 창에 입력을 방지 하기 위해 필요.

또한, 다음 플래그를 지정할 수 있습니다.:

MB_DEFAULT_DESKTOP_ONLY
현재 입력을 수신 하는 바탕 화면에 기본 데스크톱; 여야 합니다. 그렇지 않으면 함수가 실패합니다. 기본 데스크톱은 하나의 사용자가 로그온 한 후에 실행 되는 응용 프로그램.
MB_HELP
메시지 상자에 도움말 단추를 추가합니다. 도움말 단추를 선택 하거나 F1 키를 누르면 도움말 이벤트 생성.
MB_RIGHT
텍스트는 오른쪽 정렬.
MB_RTLREADING
히브리어 및 아랍어 시스템에서 오른쪽에서 왼쪽으로 읽기 순서를 사용 하 여 메시지 및 캡션 텍스트 표시.
MB_SETFOREGROUND
메시지 상자에는 전경 창이 됩니다. 시스템 메시지 상자에 대 한 SetForegroundWindow 함수를 호출 하는 내부적으로.
MB_TOPMOST
메시지 상자 WS_EX_TOPMOST 창 스타일을 사용 하 여 만들어집니다.
MB_SERVICE_NOTIFICATION
Windows NT: 호출자에 게 이벤트를 알리는 서비스입니다. 함수를 사용자 컴퓨터에 로그온 하는 경우에 현재 활성 데스크톱에 메시지 상자를 표시.

이 플래그를 설정 하면 hWnd 매개 변수는 NULL 이어야 합니다. 이것은 메시지 상자를 바탕 화면에 해당 hWnd 를 이외의 다른 데스크톱에 나타날 수 있습니다 그래서.

Windows nt 버전 4.0, MB_SERVICE_NOTIFICATION의 값이 변경 되었습니다. WINUSER를 참조 하십시오.이전 및 새 값에 대 한 H입니다. Windows NT 4.0 MessageBoxMessageBoxEx의 구현에 새 값을 이전 값을 매핑하여 기존 서비스에 대 한 이전 버전과 호환성을 제공 합니다. 이 매핑은 미만 4.0 링커에 의해 설정으로 버전 번호는 실행 파일에 대 한만 이루어집니다.

MB_SERVICE_NOTIFICATION를 사용 하 고 Windows NT 3.x 및 Windows NT 4.0에서 실행할 수 있는 서비스를 구축, 당신은 두 가지 선택.
  1. 링크 타임에 4.0; 보다 작은 버전 번호 지정 또는
nbsp;???2. 링크 타임에 4.0 버전을 지정 합니다. 실행 시간에 시스템 버전을 확인 하려면 GetVersionEx 함수를 사용 합니다. 다음 Windows &NT 3.x에서 실행 되는 MB_SERVICE_NOTIFICATION_NT3X;를 사용 하는 경우 Windows NT 4.0 사용 MB_SERVICE_NOTIFICATION.

MB_SERVICE_NOTIFICATION_NT3X
Windows NT: 이 값에 대 한 MB_SERVICE_NOTIFICATION에 대 한 Windows NT 버전 3.51 정의 하는 값에 해당 하는.

반환 값

메시지 상자를 만드는 충분 한 메모리가 없는 경우 반환 값은 0.

함수가 성공 하면 반환 값은 대화 상자에 의해 반환 되는 다음 메뉴 항목 값 중 하나:

의미
IDABORT 중단 단추를 선택한.
IDCANCEL 취소 단추를 선택.
IDIGNORE 무시 단추를 선택.
IDNO 아니요 단추를 선택한.
IDOK 확인 버튼을 선택.
IDRETRY 다시 시도 단추를 선택.
IDYES 단추를 선택 하는 예.

메시지 상자에 취소 단추가 있는 경우 함수 또는 esc 키를 누르면 취소 단추를 선택 하는 경우 IDCANCEL 값을 반환 합니다. 누르면 esc 아무 효과가 메시지 상자에 취소 단추가 없는 경우.

주의

시스템 모달 메시지 상자를 사용 하 여 리소스를 로드 하려고 실패할 수 있기 때문에 시스템은 메모리 부족 lpText 에 의해 가리키는 문자열 및 리소스 파일에서 lpCaption 매개 변수를 복용 해서는 안을 나타냅니다.

MessageBox 를 호출 응용 프로그램 uType 매개 변수에 대 한 MB_ICONHAND 및 MB_SYSTEMMODAL 플래그를 지정 하면 사용 가능한 메모리에 관계 없이 결과 메시지 상자가 표시 됩니다. 이러한 플래그를 지정 하면 시스템 메시지 상자 텍스트 세 줄의 길이 제한 합니다. 그러나 시스템 않습니다 없습니다 그래서 메시지 문자열 적절 한 장소에서 줄을 캐리지 리턴 있어야 합니다. 메시지 상자에 맞게 줄을 자동으로 휴식.

대화 상자는 존재 하는 동안 메시지 상자를 만드는 경우 대화 상자의 핸들을 사용 하 여 hWnd 매개 변수로. HWnd 매개 변수 대화 상자에서 제어와 같은 자식 창을 식별 하지 해야.

Windows 95:시스템 최대 16,364 창 핸들을 지원할 수 있습니다.

Windows CE: Windows CE uType 매개 변수에 대 한 다음 스타일을 지원 하지 않습니다.

MB_SYSTEMMODAL

MB_TASKMODAL

MB_HELP

MB_RIGHT

MB_RTLREADING

MB_DEFAULT_DESKTOP_ONLY

MB_SERVICE_NOTIFICATION

MB_USERICON.

다음 반환 값은 지원 되지 않습니다.:

IDCLOSE

IDHELP

QuickInfo

nbsp;?Windows &NT: 버전 3.1 이상이 필요 합니다.
Windows:Windows 95 이상이 필요합니다.
Windows CE:버전 1.0 이상이 필요합니다.
헤더:Winuser.h에서 선언합니다.
가져오기 라이브러리:User32.lib를 사용 합니다.
유니코드:Windows 및 Windows NT에서 유니코드와 ANSI 버전으로 구현.

참고 항목

대화 상자 개요, 대화 상자 함수, FlashWindow, MessageBeep, MessageBoxEx, MessageBoxIndirect, SetForegroundWindow

 

Index