Dialog模式的程序,上面放了个CListCtrl, 
我响应NM_RCLICK消息,popup出一个菜单,点击,却不知道应该在哪里响应到菜单消息??

解决方案 »

  1.   

    请问,在dialog里响应哪个消息?或重载哪个函数?
      

  2.   


    ON_COMMAND(IDM_MENU_ITEM, OnMenuFunction)
      

  3.   

    其实在MFC中消息分为两类
    WM_COMMAND(用于命令,比如菜单命令,工具条命令,还有是简单控件命令(CEdit)(CButton)).
    WM_XXX(是Windows的消息,如WM_CREATE ,WM_PAINT等)不过由于有Window的新控件就不用WM_COMMAND而是用WM_NOTIFY(比如CTreeView CListView , CTreeCtrl CListCtrl)
    你是使用CListCtrl那么就要用
    ON_NOTIFY(nNotifyCode, ControlID , pFunction)这样的格式去建立命令映射将通知代码nNotifyCode 与你的pFunction 建立联系。建议你看看侯杰的《深入浅出MFC》
      

  4.   

    用donor(donor)的方法解决了问题.
    不过,想知道,这菜单消息最后又给转成哪个消息了?好象 xl1(xl1)说的ON_NOTIFY里也没有.另外on_notify好象都是针对这些控件的,与弹出菜单消息有关么?
      

  5.   

    用PretranslateMessage是可行的,我自己测试过的。
      

  6.   

    用PretranslateMessage是可行的,我自己测试过的。
      

  7.   

    xl1说的挺清楚的.
    好象classwizard里有这个消息吧.
      

  8.   

    我试了,可以在classwizard直接加的.
      

  9.   

    alidiedie(阿里): 我是要响应弹出菜单,可以么? 是重载OnNotify么?
    jiangsheng(蒋晟.Net) 你这个消息,产生的'面积'太广:)