CWnd::OnMenuChar

afx_msg LRESULT OnMenuChar( UINT nChar, UINT nFlags, CMenu* pMenu );

返回值:
返回值的高位字中必须包含下列命令代码之一:
描述
0告诉Windows废弃用户按下的字符,并在系统扬声器中产生一个短响
1告诉Windows关闭当前的菜单
2通知Windows在返回值的低位字中包含了指定项的号码。这个项是Windows选中的,如果高位字中包含0或1,则低位字被忽略。当使用了加速键(快捷方式)选中菜单中的位图时,应用程序应当处理这个消息。

参数:
nChar依赖于编译设置,指定了用户按下的ANSI或Unicode字符。
nFlags如果菜单是弹出菜单,则包含了MF_POPUP标志。如果菜单是控制菜单,则包含了MF_SYSMENU标志。
pMenu包含了选中菜单的指针。这个指针可能时临时的,不能被保存以供将来使用。

说明:
当用户按下一个不能与当前菜单中任何预定义的助记符相匹配的菜单助记符时,框架就调用这个成员函数。它被发送到拥有这个菜单的CWnd对象。当用户按下ALT以及其它任何键时,也会调用OnMenuChar,即使这些键并不对应助记符字符。在这种情况下,pMenu指向CWnd拥有的菜单,nFlags为0。
注意 框架调用这个成员函数以允许你的应用程序处理一个Windows消息。传递给你的成员函数的参数反映了接收到消息时框架接收到的参数。如果你调用了这个函数的基类实现,则该实现将使用最初传递给消息的参数(而不是你提供给这个函数的参数)。

请参阅:WM_MENUCHAR