我在vc6 的对话框中使用了右键菜单,当dialog的模式是pop 和 dialog Frame时 ,右键菜单正常显示。
当把dialog设成 child 和 none 模式,嵌入到一个form后,右键菜单变成了灰色,不能点击,请问怎么解决?

解决方案 »

  1.   

    “嵌入到一个form”具体是什么意思?
      

  2.   

    我懂你的意思~
     是你对话框没有得到右键点击消息
    你说对不对哇
    你可以把弹出式菜单变为afxmessagebox()
    你点右键弹不出来messagebox的
      

  3.   

    我试了下 没问题啊
    menu.LoadMenu(IDR_MENU_ADD_MASTER);
    pSubMenu = menu.GetSubMenu(0);
            pSubMenu->TrackPopupMenu(0, ptViewPoint.x, ptViewPoint.y, this); 
    //ptViewPoint为你需要显示菜单的点的位置
      

  4.   

    我试了下 没问题啊
    menu.LoadMenu(IDR_MENU_ADD_MASTER);
    pSubMenu = menu.GetSubMenu(0);
            pSubMenu->TrackPopupMenu(0, ptViewPoint.x, ptViewPoint.y, this); 
    //ptViewPoint为你需要显示菜单的点的位置
      

  5.   

    嵌入到form中灰掉了可能是view 或者 mainframe的 ON_COMMAND_UPDATE_UI 把该项菜单项禁止了,因为没找到对应的菜单项处理。解决方法一是把右键处理加入到view或者mainframe或者document中,总之和主菜单的处理方式一样就可以了,也可以直接在主菜单中复制一份右键菜单的菜单项。
    方法二是右键菜单完全独立出来,不让view什么的知道。 如 TrackPopupMenu的参数中去掉父窗口、提示等等。
      

  6.   

    form中没有你菜单的处理函数,照上面的方法加入处理函数