EnableWindow 함수(winuser.h)

지정된 창 또는 컨트롤에 대한 마우스 및 키보드 입력이 가능하거나 가능하지 않도록 설정합니다. 입력이 가능하지 않으면 창은 입력(예: 마우스 클릭 및 키 누르기)을 받지 않습니다. 입력이 가능하게 설정되면 창은 모든 입력을 받습니다.

구문

BOOL EnableWindow(
  [in] HWND hWnd,
  [in] BOOL bEnable
);

매개 변수

[in] hWnd

형식: HWND

사용하거나 사용하지 않도록 설정할 창에 대한 핸들입니다.

[in] bEnable

형식: BOOL

창을 사용하거나 사용하지 않도록 설정할지 여부를 나타냅니다. 이 매개 변수가 TRUE이면 창이 활성화됩니다. 매개 변수가 FALSE이면 창이 비활성화됩니다.

반환 값

형식: BOOL

이전에 창을 사용하지 않도록 설정한 경우 반환 값은 0이 아닌 값입니다.

이전에 창을 사용하지 않도록 설정하지 않은 경우 반환 값은 0입니다.

설명

창을 사용하지 않도록 설정하면 시스템에서 WM_CANCELMODE 메시지를 보냅니다. 창의 사용 상태가 변경되면 시스템은 WM_CANCELMODE 메시지 다음에 WM_ENABLE 메시지를 보냅니다. (이러한 메시지는 EnableWindow 가 반환되기 전에 전송됩니다.) 창을 이미 사용하지 않도록 설정한 경우 자식 창은 암시적으로 사용하지 않도록 설정되지만 WM_ENABLE 메시지가 전송되지는 않습니다.

창을 활성화하려면 먼저 창을 사용하도록 설정해야 합니다. 예를 들어 애플리케이션이 모덜리스 대화 상자를 표시하고 기본 창을 사용하지 않도록 설정한 경우 애플리케이션은 대화 상자를 삭제하기 전에 기본 창을 사용하도록 설정해야 합니다. 그렇지 않으면 다른 창에서 키보드 포커스를 받고 활성화됩니다. 자식 창을 사용하지 않도록 설정하면 시스템에서 마우스 메시지를 받을 창을 결정하려고 할 때 무시됩니다.

기본적으로 창은 생성될 때 사용하도록 설정됩니다. 처음에 사용하지 않도록 설정된 창을 만들려면 애플리케이션에서 CreateWindow 또는 CreateWindowEx 함수에서 WS_DISABLED 스타일을 지정할 수 있습니다. 창이 만들어지면 애플리케이션에서 EnableWindow 를 사용하여 창을 사용하거나 사용하지 않도록 설정할 수 있습니다.

애플리케이션은 이 함수를 사용하여 대화 상자에서 컨트롤을 사용하거나 사용하지 않도록 설정할 수 있습니다. 비활성화된 컨트롤은 키보드 포커스를 받을 수 없으며 사용자가 키보드 포커스에 액세스할 수도 없습니다.

요구 사항

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

추가 정보

개념

CreateWindow

CreateWindowEx

IsWindowEnabled

키보드 입력

참조

WM_ENABLE