Поделиться через


Функция EnableWindow (winuser.h)

Включает или отключает ввод с помощью мыши и клавиатуры для указанного окна или элемента управления. Если входные данные отключены, окно не получает такие входные данные, как щелчки мышью и нажатия клавиш. Если входные данные включены, окно получает все входные данные.

Синтаксис

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

Параметры

[in] hWnd

Тип: HWND

Дескриптор окна для включения или отключения.

[in] bEnable

Тип: BOOL

Указывает, следует ли включать или отключать окно. Если этот параметр имеет значение TRUE, окно включено. Если параметр имеет значение FALSE, окно отключается.

Возвращаемое значение

Тип: BOOL

Если окно было ранее отключено, возвращаемое значение не равно нулю.

Если окно ранее не было отключено, возвращаемое значение равно нулю.

Комментарии

Если окно отключено, система отправляет WM_CANCELMODE сообщение. Если состояние включенного окна меняется, система отправляет WM_ENABLE сообщение после WM_CANCELMODE сообщения. (Эти сообщения отправляются до возврата EnableWindow .) Если окно уже отключено, его дочерние окна неявно отключены, хотя они не отправляют WM_ENABLE сообщение.

Окно должно быть включено, прежде чем его можно будет активировать. Например, если приложение отображает немодерное диалоговое окно и отключило его main окно, приложение должно включить окно main перед уничтожением диалогового окна. В противном случае фокус клавиатуры будет активирован в другом окне. Если дочернее окно отключено, оно игнорируется, когда система пытается определить, какое окно должно получать сообщения мыши.

По умолчанию окно включено при его создании. Чтобы создать окно, которое изначально отключено, приложение может указать стиль WS_DISABLED в функции CreateWindow или CreateWindowEx . После создания окна приложение может использовать EnableWindow для включения или отключения окна.

Приложение может использовать эту функцию для включения или отключения элемента управления в диалоговом окне. Отключенный элемент управления не может получить фокус клавиатуры, а пользователь не может получить к нему доступ.

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header 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