现在我的代码没有检测到右键单击它的对话框。 我错过了什么吗?另外,有什么重要的我应该知道如何 检测工作在mfc?
在我的.h文件中包含此方法作为公共:
afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
在我的.cpp文件中,我有这些人:
void CGadgetAddedDialog::OnRButtonDown(UINT nFlags, CPoint point)
{
char debugStr[1000];
sprintf_s(debugStr, "pressed on: %d, %d", point.x, point.y);
OutputDebugStringA(debugStr);
// TODO: Add your message handler code here and/or call default
CDialogEx::OnRButtonDown(nFlags, point);
}
BEGIN_MESSAGE_MAP(CGadgetAddedDialog, CDialogEx)
ON_WM_ERASEBKGND()
ON_WM_RBUTTONDOWN()
ON_WM_CONTEXTMENU()
ON_WM_CTLCOLOR()
END_MESSAGE_MAP()
答案 0 :(得分:0)
如果使用鼠标右键单击子控件,子控件将收到该消息。
如果要为上下文菜单单击鼠标右键而不是仅使用WM_CONTEXTMENU的处理程序。这保证了上下文菜单键的处理也是正确的。 如果孩子没有处理它,这条消息也会从孩子转移到父母。