如何修复OnRButtonDown()以检测对话框的右键单击? (使用mfc)

时间:2013-11-26 18:03:40

标签: c++ mfc

现在我的代码没有检测到右键单击它的对话框。 我错过了什么吗?另外,有什么重要的我应该知道如何 检测工作在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()

1 个答案:

答案 0 :(得分:0)

如果使用鼠标右键单击子控件,子控件将收到该消息。

如果要为上下文菜单单击鼠标右键而不是仅使用WM_CONTEXTMENU的处理程序。这保证了上下文菜单键的处理也是正确的。 如果孩子没有处理它,这条消息也会从孩子转移到父母。