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 を含む)
Library User32.lib
[DLL] User32.dll
API セット ext-ms-win-ntuser-window-l1-1-4 (Windows 10 バージョン 10.0.14393 で導入)

関連項目

概念

CreateWindow

CreateWindowEx

IsWindowEnabled

キーボード入力

リファレンス

WM_ENABLE