在mfc中,鼠标悬停时会选择上下文菜单项



我有一个带有上下文菜单的应用程序。我使用OnMenuSelect方法,但当鼠标悬停在菜单项上时,它会被调用,而不是当我单击它时。有解决这个问题的方法吗?

是的,这是设计的。OnMenuSelect方法对应于每当鼠标悬停在菜单项上时发送的WM_MENUSELECT消息。

要处理菜单项的点击事件,您需要处理WM_COMMAND消息,即

当用户从菜单中选择命令项时发送,当控件向其父窗口发送通知消息时发送,或当转换加速器击键时发送。

在MFC术语中,这意味着覆盖OnCommand方法:

当用户从菜单中选择项目时,当子控件发送通知消息时,或者当加速器键击被转换时,框架调用此成员函数。

最新更新