WM_MENUCHAR

This message is sent when a menu is active and the user presses a key that does not correspond to any mnemonic or accelerator key. This message is sent to the window that owns the menu.

At a Glance

Header file: Winuser.h
Windows CE versions: 1.0 and later

Syntax

WM_MENUCHAR chUser = (char)LOWORD(wParam);
fuFlag = (UINT)HIWORD(wParam); hmenu = (HMENU) lParam;

Parameters

chUser

Value of the low-order word of wParam. Specifies the character code that corresponds to the key the user pressed.

fuFlag

Value of the high-order word of wParam. Specifies the type of the active menu and must be:

Value Description
MF_POPUP Drop-down menu, submenu, or shortcut menu

hmenu

Handle to the active menu.

Return Values

An application that processes this message should return one of the following values in the high-order word of the return value:

Value Description
MNC_IGNORE Informs the system that it should discard the character the user pressed and create a short beep on the system speaker.
MNC_CLOSE Informs the system that it should close the active menu.
MNC_EXECUTE Informs the system that it should choose the item specified in the low-order word of the return value. The owner window receives a WM_COMMAND message.
MNC_SELECT Informs the system that it should select the item specified in the low-order word of the return value.

Remarks

The low-order word is ignored if the high-order word contains 0 or 1. An application should process this message when an accelerator is used to select a menu item that displays a bitmap.