EnableWindow 函数 (winuser.h)

启用或禁用指定窗口或控件的鼠标和键盘输入。 禁用输入时,窗口不会接收鼠标单击和按键等输入。 启用输入时,窗口会接收所有输入。

语法

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

参数

[in] hWnd

类型:HWND

要启用或禁用的窗口的句柄。

[in] bEnable

类型: BOOL

指示是启用或禁用窗口。 如果此参数为 TRUE,则启用窗口。 如果 参数为 FALSE,则禁用窗口。

返回值

类型: BOOL

如果以前禁用窗口,则返回值为非零值。

如果以前未禁用窗口,则返回值为零。

注解

如果窗口处于禁用状态,系统会发送 WM_CANCELMODE 消息。 如果窗口的启用状态正在更改,系统会在 WM_CANCELMODE 消息后发送 WM_ENABLE 消息。 (这些消息在 EnableWindow 返回之前发送。) 如果窗口已禁用,则其子窗口将被隐式禁用,尽管它们不会发送 WM_ENABLE 消息。

必须先启用窗口才能激活它。 例如,如果应用程序显示无模式对话框并禁用其main窗口,则应用程序必须在销毁对话框之前启用main窗口。 否则,另一个窗口将接收键盘焦点并被激活。 如果禁用了子窗口,当系统尝试确定哪个窗口应接收鼠标消息时,将忽略该窗口。

默认情况下,创建的窗口最初处于已启用状态。 若要创建最初禁用的窗口,应用程序可以在 CreateWindowCreateWindowEx 函数中指定WS_DISABLED样式。 创建窗口后,应用程序可以使用 EnableWindow 启用或禁用窗口。

应用程序可以使用此函数来启用或禁用对话框中的控件。 禁用的控件无法接收键盘焦点,用户也无法获取对它的访问权限。

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 winuser.h (包括 Windows.h)
Library User32.lib
DLL User32.dll
API 集 Windows 10版本 10.0.14393 中引入的 ext-ms-win-ntuser-window-l1-1-4 ()

请参阅

概念性

CreateWindow

CreateWindowEx

IsWindowEnabled

键盘输入

引用

WM_ENABLE