void CDlgSet::OnRButtonDown(UINT nFlags, CPoint point) 
{
// TODO: Add your message handler code here and/or call default
CRect rc(100,140,400,300);

if (rc.PtInRect(point)) 
{
MessageBox("sss");
}
CDialog::OnRButtonDown(nFlags, point);
}
这是测试代码 CDLGSet 继承 Cdialog
不知道为什么,单击事件,不管是DOWN还是UP,断点都进不去,是不是在主窗体mainframe那里就拦截了呢?
但是其他的子窗体能响应,好奇怪,好奇怪!!!!救命啊,小弟学术不精,求教

解决方案 »

  1.   

    可以是if (rc.PtInRect(point)) 为否,MessageBox未执行
    先把该句屏蔽,直接MessageBox,看看是否收得到右击事件
      

  2.   

    afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
    消息映射也检查了,我怕漏掉,跟其他的一起检查,完全一样的有一点,会不会跟我当前的这个DLG是doModal出来的有关呢?
      

  3.   

    我又一次证实,跟DOMODAL无关测试程序,我可以弹出两个新的窗体,在新窗体里面捕获消息