1、WM_CONTEXTMENU
它响应的不是鼠标右键按下消息,也不是鼠标右键弹起消息而是鼠标右键依次按下弹起后触发的消息。
注意:若程序还响应了鼠标右键按下的消息OnRButtonDown,且在此响应函数中有模态对话框出现,则不会响应WM_CONTEXTMENU消息。比如,有AfxMessageBox,关闭模态对话框后,不再响应右键菜单。
原因在于:右键菜单是在右键依次按下弹起时才被触发的。右键按下,模态对话框产生时,消息只被发送到了模态对话框,因此,鼠标弹起消息未被发送到主窗口,因此,不会响应右键菜单消息。
如果在右键弹起响应函数OnRButtonUp中响应模态对话框消息的话,右键菜单消息不会被影响。原因是:此时鼠标按下、弹起消息均已被发送到了主窗口,因此程序在关闭模态对话框后,仍会响应右键菜单消息。