WM_MENUSELECT メッセージは、ユーザーがメニューアイテムを選択したときに、メニューのオーナーウィンドウに送信されます。
ウィンドウは、ウィンドウプロシージャを介してこのメッセージを受け取ります。
#define WM_MENUSELECT 0x011F uItem = wParam & 0xFFFF; // メニューアイテム uFlags = (wParam >> 16) & 0xFFFF; // メニューフラグ hMenu = lParam; // メニューハンドル
wParam パラメータの下位ワードの値。
選択されているアイテムのメニューアイテムIDまたはサブメニューのインデックスが指定されます。
選択アイテムがコマンドアイテムである場合には、このパラメータは選択されているアイテムのメニューアイテムIDになります。
選択されているアイテムがサブメニューまたはドロップダウンメニューを持つ場合には、このパラメータはメニュー中におけるインデックスになり、 hMenu パラメータにはメインメニュー(クリックされているメニュー)のハンドルが指定されます。サブメニューのハンドルを取得するには GetSubMenu 関数を使います。
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) | アイテムはマウス操作によって選択されています。 |
lParam パラメータの値。
クリックされたメニューのハンドルが指定されます。
アプリケーションがこのメッセージを処理した場合は 0 を返します。
メニューが閉じられた場合には、 uFlags パラメータには 0xFFFF が、 hMenu パラメータには 0 (NULL) が指定されます。
Windows 95 以降 / Windows NT 3.1 以降