다음을 통해 공유


IsDialogMessageA 함수(winuser.h)

메시지가 지정된 대화 상자에 대한 것인지 여부를 확인하고, 메시지인 경우 메시지를 처리합니다.

구문

BOOL IsDialogMessageA(
  [in] HWND  hDlg,
  [in] LPMSG lpMsg
);

매개 변수

[in] hDlg

형식: HWND

대화 상자에 대한 핸들입니다.

[in] lpMsg

형식: LPMSG

확인할 메시지를 포함하는 MSG 구조체에 대한 포인터입니다.

반환 값

형식: BOOL

메시지가 처리된 경우 반환 값은 0이 아닌 값입니다.

메시지가 처리되지 않은 경우 반환 값은 0입니다.

설명

IsDialogMessage 함수는 모덜리스 대화 상자를 위한 것이지만 컨트롤이 포함된 모든 창에서 사용할 수 있으므로 창이 대화 상자에서 사용되는 것과 동일한 키보드 선택을 제공할 수 있습니다.

IsDialogMessage는 메시지를 처리할 때 키보드 메시지를 확인하고 해당 대화 상자의 선택 항목으로 변환합니다. 예를 들어 TAB 키를 누르면 다음 컨트롤 또는 컨트롤 그룹을 선택하고 아래쪽 화살표 키를 누르면 그룹에서 다음 컨트롤을 선택합니다.

IsDialogMessage 함수는 필요한 모든 메시지 번역 및 디스패치를 수행하므로 IsDialogMessage에서 처리한 메시지를 TranslateMessage 또는 DispatchMessage 함수에 전달해서는 안 됩니다.

IsDialogMessageWM_GETDLGCODE 메시지를 대화 상자 프로시저로 보내 처리해야 하는 키를 결정합니다.

IsDialogMessageDM_GETDEFIDDM_SETDEFID 메시지를 창으로 보낼 수 있습니다. 이러한 메시지는 Winuser.h 헤더 파일에서 WM_USERWM_USER + 1로 정의되므로 동일한 값을 갖는 애플리케이션 정의 메시지와 충돌이 발생할 수 있습니다.

참고

winuser.h 헤더는 ISDialogMessage를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 winuser.h(Windows.h 포함)
라이브러리 User32.lib
DLL User32.dll
API 세트 ext-ms-win-ntuser-dialogbox-l1-1-3(Windows 10 버전 10.0.14393에 도입됨)

추가 정보

개념

DM_GETDEFID

DM_SETDEFID

대화 상자

DispatchMessage

메시지

참조

TranslateMessage

WM_GETDLGCODE

WM_USER