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 訊息。

必須先啟用視窗,才能加以啟用。 例如,如果應用程式正在顯示無強制回應對話方塊,並已停用其主視窗,應用程式必須先啟用主視窗,才能終結對話方塊。 否則,另一個視窗會接收鍵盤焦點並啟動。 如果停用子視窗,當系統嘗試判斷應該接收滑鼠訊息的視窗時,就會忽略此視窗。

根據預設,視窗會在建立時啟用。 若要建立一開始停用的視窗,應用程式可以在CreateWindowCreateWindowEx函式中指定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