在CDialog中增加CRichEditCtrl控件,我想在控件中右键弹出菜单然后选择响应,我完成代码之后发现消息都被CDialog截获了(在控件外可以弹出来,但是控件内不行)
谁能指点一点小弟,送分送祝福,呵呵!!!

解决方案 »

  1.   

    子类化CRichEditCtrl,响应鼠标右键消息。
    或重载PreTranslateMessage函数,当有鼠标右键消息时,判断鼠标是否位于控件内
      

  2.   

    你直接写CRichEditCtrl控件的右击事件
      

  3.   

    我对MFC还不是很熟悉,请问怎么让他响应我控件的右键,而不是CDialog的右键,谢谢!
      

  4.   

    具体实现依照  ouyh12345(五岭散人) 介绍
      

  5.   

    重写一个子类,从CRichEditCtrl中继承,自己处理右键消息
      

  6.   

    m_ctRichEditCtrl//定义的CRichEditCtrl的名称
    CRect rect;
    m_ctRichEditCtrl.GetWindowRect(&rect);//获取ctRichEditCtrl窗口大小。
    ClientToScreen(&rect);//转化坐标系。
    rect.PtInRect(point);//判断鼠标是否在rect的控件范围内
    如果在加载弹出式菜单。