WM_MENUSELECT

WM_MENUSELECT メッセージは、ユーザーがメニューアイテムを選択したときに、メニューのオーナーウィンドウに送信されます。

ウィンドウは、ウィンドウプロシージャを介してこのメッセージを受け取ります。

#define  WM_MENUSELECT    0x011F

uItem  =  wParam & 0xFFFF;           // メニューアイテム
uFlags = (wParam >> 16) & 0xFFFF;    // メニューフラグ
hMenu  =  lParam;                    // メニューハンドル

パラメータ

uItem

wParam パラメータの下位ワードの値。

選択されているアイテムのメニューアイテムIDまたはサブメニューのインデックスが指定されます。

選択アイテムがコマンドアイテムである場合には、このパラメータは選択されているアイテムのメニューアイテムIDになります。

選択されているアイテムがサブメニューまたはドロップダウンメニューを持つ場合には、このパラメータはメニュー中におけるインデックスになり、 hMenu パラメータにはメインメニュー(クリックされているメニュー)のハンドルが指定されます。サブメニューのハンドルを取得するには GetSubMenu 関数を使います。

uFlags

wParam パラメータの上位ワードの値。

メニューアイテムの属性を示すフラグが指定されます。以下の値の組み合わせになります。

意味
0x00000001 (MF_GRAYED)

アイテムは灰色表示されています。

0x00000002 (MF_DISABLED)

アイテムは無効化されています。

0x00000004 (MF_BITMAP)

アイテムはビットマップを表示します。

0x00000010 (MF_POPUP)

アイテムはドロップダウンメニューまたはサブメニューを持ちます。

0x00000080 (MF_HILITE)

アイテムはハイライト表示されています。

0x00000100 (MF_OWNERDRAW)

アイテムはオーナードローアイテムです。

0x00002000 (MF_SYSMENU)

アイテムはウィンドウメニュー(システムメニュー)に含まれています。 hMenu パラメータには、メッセージに関連付けられたメニューのハンドルが指定されます。

0x00008000 (MF_MOUSESELECT)

アイテムはマウス操作によって選択されています。

hMenu

lParam パラメータの値。

クリックされたメニューのハンドルが指定されます。

戻り値

アプリケーションがこのメッセージを処理した場合は 0 を返します。

解説

メニューが閉じられた場合には、 uFlags パラメータには 0xFFFF が、 hMenu パラメータには 0 (NULL) が指定されます。

対応情報

Windows 95 以降 / Windows NT 3.1 以降