faint.你要在消息映射表中加入
ON_COMMAND_RANGE(.....)
才行。具体情况不用我说了吧

解决方案 »

  1.   

    不行,因为我的菜单在DLL中,而且要动态设置菜单的宿主程序是在DLL加载时确定.
      

  2.   

    多谢了,我对Win32函数的使用不太熟,能否作一个例子给我([email protected])
      

  3.   

    试试在你的视图类中添加你的菜单更新处理函数,比如说
    void CMyView::OnUpdateOptions(CCmdUI *pCmdUI)
    在其中再用Enable函数设置菜单项状态。
      

  4.   

    不好意思,我直接说吧,我的程序为AutoCAD的ARX扩展库(一种DLL),它里面可用MFC的小类,如CMenu之类,但无CView等大类,更无消息处理之类函数,我只能用CMenu设置菜单,用SetWindowsHookEx(...)来筛选AutoCAD处理内部命令消息从而实现对系统的动态扩充.
      

  5.   

    calyforer(无心)的建议应该可以,因为你添加的菜单没有对应的on_command
    所以自动设置为disable,所以要通过更新处理来不断把它设置为enable