我可以肯定没有默认的消息响应函数,但所有刚创建的菜单却被激活。
而且CCmdUI也无效了,
void CMainScreenView::OnUpdateOff(CCmdUI* pCmdUI) 
{
pCmdUI->SetCheck(false);

}void CMainScreenView::OnUpdateOn(CCmdUI* pCmdUI) 
{
pCmdUI->SetCheck(false);

}
以上的代码我用断点观察确实执行了,但却没有效果,请问这是为什么呀!
你们有没有碰见过这种现像,谢了。

解决方案 »

  1.   

    是不是对话框下面的,还有一个可能是BCGControlBarhttp://community.csdn.net/Expert/topic/3317/3317215.xml?temp=.9823114
      

  2.   

    BEGIN_MESSAGE_MAP(CMainScreenView, CFormView)
    //{{AFX_MSG_MAP(CMainScreenView)
    ON_WM_ERASEBKGND()
    ON_WM_RBUTTONDOWN()
    ON_COMMAND(ID_CLEARBKGND, OnClearbkgnd)
    ON_COMMAND(ID_UNFREEZE, OnUnfreeze)
    ON_WM_DESTROY()
    ON_COMMAND(ID_FREEZE, OnFreeze)
    ON_COMMAND(ID_PRINTFREEZE, OnPrintfreeze)
    ON_WM_CTLCOLOR()
    ON_CBN_SELCHANGE(IDC_PHYBEDNO, OnSelchangePhybedno)
    ON_WM_TIMER()
    ON_MESSAGE(WM_MY_CHANGESCREEN, OnChangeBedNo)
    ON_WM_CONTEXTMENU()
    ON_COMMAND(ID_MENUCOLOR, OnMenucolor)
    ON_UPDATE_COMMAND_UI(ID_MENUCOLOR, OnUpdateMenucolor)
    ON_COMMAND(ID_MENUEGC, OnMenuegc)
    ON_UPDATE_COMMAND_UI(ID_MENUEGC, OnUpdateMenuegc)
    ON_COMMAND(ID_MENUHR, OnMenuhr)
    ON_UPDATE_COMMAND_UI(ID_MENUITEMDELETE, OnUpdateMenuitemdelete)
    ON_COMMAND(ID_MENUNIPB, OnMenunipb)
    ON_UPDATE_COMMAND_UI(ID_MENUNIPB, OnUpdateMenunipb)
    ON_COMMAND(ID_MENURR, OnMenurr)
    ON_UPDATE_COMMAND_UI(ID_MENURR, OnUpdateMenurr)
    ON_COMMAND(ID_MENUSPO2, OnMenuspo2)
    ON_UPDATE_COMMAND_UI(ID_MENUSPO2, OnUpdateMenuspo2)
    ON_COMMAND(ID_MENUTEMP1, OnMenutemp1)
    ON_UPDATE_COMMAND_UI(ID_MENUTEMP1, OnUpdateMenutemp1)
    ON_COMMAND(ID_MENUTEMP2, OnMenutemp2)
    ON_UPDATE_COMMAND_UI(ID_MENUTEMP2, OnUpdateMenutemp2)
    //}}AFX_MSG_MAP
    END_MESSAGE_MAP()
      

  3.   

    消息映射如上,关键是我将上面的代码注释掉(包括根本就没用向导生成)菜单也被激活,我用断点观察过代码都执行了,但void CMainScreenView::OnUpdateOn(CCmdUI* pCmdUI) 
    {
    pCmdUI->SetCheck(false);

    }
    但没有效果
      

  4.   

    我搞定了,谢谢大家
     我的视图是从CFromView派生的。
    我用下面的代码
    pPopup->TrackPopupMenu(TPM_LEFTALIGN |TPM_LEFTBUTTON,
    point.x,point.y,
    this,NULL);
    出现此问题 
    用下面的代码则没有问题 
    pPopup->TrackPopupMenu(TPM_LEFTALIGN |TPM_LEFTBUTTON,
    point.x,point.y,
    AfxGetMainWnd(),NULL);
    请问这是为什么,请大家告诉我,谢谢大家。
      

  5.   

    消息映射里没有看到OnUpdateOn,OnUpdateOff啊?
    如果两个菜单的ID分别是:ID_ON, ID_OFF 把以下映射加进试一试:
    ON_COMMAND(ID_ON, OnOn)
    ON_UPDATE_COMMAND_UI(ID_ON, OnUpdateOn)
    ON_COMMAND(ID_OFF, OnOff)
    ON_UPDATE_COMMAND_UI(ID_OFF, OnUpdateOff)
      

  6.   

    对不起,你上面的代码是被我删除的,我试过,问题不在那。
    huaboy408(闭关修练) 说的应该是对的。
    但为会么用AfxGetMainWnd()就可以呢,不会出现以上现像