我有一个带有上下文菜单的应用程序。我使用OnMenuSelect
方法,但当鼠标悬停在菜单项上时,它会被调用,而不是当我单击它时。有解决这个问题的方法吗?
是的,这是设计的。OnMenuSelect
方法对应于每当鼠标悬停在菜单项上时发送的WM_MENUSELECT
消息。
要处理菜单项的点击事件,您需要处理WM_COMMAND
消息,即
当用户从菜单中选择命令项时发送,当控件向其父窗口发送通知消息时发送,或当转换加速器击键时发送。
在MFC术语中,这意味着覆盖OnCommand
方法:
当用户从菜单中选择项目时,当子控件发送通知消息时,或者当加速器键击被转换时,框架调用此成员函数。