EnableMenuItem 関数 (winuser.h)
指定したメニュー項目を有効、無効、または灰色にします。
構文
BOOL EnableMenuItem(
[in] HMENU hMenu,
[in] UINT uIDEnableItem,
[in] UINT uEnable
);
パラメーター
[in] hMenu
種類: HMENU
メニューへのハンドル。
[in] uIDEnableItem
型: UINT
uEnable パラメーターによって決定される、有効、無効、または灰色で表示されるメニュー項目。 このパラメーターは、メニュー バー、メニュー、またはサブメニュー内の項目を指定します。
[in] uEnable
型: UINT
uIDEnableItem パラメーターの解釈を制御し、メニュー項目を有効、無効、または灰色にするかどうかを指定します。 このパラメーターは、次の値の組み合わせである必要があります。
戻り値
種類: BOOL
戻り値は、メニュー項目の以前の状態を指定します ( MF_DISABLED、 MF_ENABLED、 またはMF_GRAYEDのいずれかです)。 メニュー項目が存在しない場合、戻り値は -1 になります。
注釈
適切なメニュー ハンドルを指定するには、アプリケーションで MF_BYPOSITION フラグを使用する必要があります。 メニュー バーのメニュー ハンドルを指定すると、最上位レベルのメニュー項目 (メニュー バー内の項目) が影響を受けます。 ドロップダウン メニューまたはサブメニュー内の項目の状態を位置別に設定するには、アプリケーションでドロップダウン メニューまたはサブメニューへのハンドルを指定する必要があります。
アプリケーションが MF_BYCOMMAND フラグを指定すると、システムは、指定されたメニュー ハンドルによって識別されるメニューでサブメニューを開くすべての項目をチェックします。 したがって、重複するメニュー項目が存在しない限り、メニュー バーにメニュー ハンドルを指定するだけで十分です。
InsertMenu、InsertMenuItem、LoadMenuIndirect、ModifyMenu、および SetMenuItemInfo 関数は、メニュー項目の状態 (有効、無効、または灰色) を設定することもできます。
ウィンドウ メニューを変更しても、メニュー バーはすぐには更新されません。 更新を強制するには、 DrawMenuBar を呼び出します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | winuser.h (Windows.h を含む) |
Library | User32.lib |
[DLL] | User32.dll |
API セット | ext-ms-win-ntuser-menu-l1-1-0 (Windows 8で導入) |
関連項目
概念
リファレンス