请问如何禁止整个菜单条的使用,光标点上去不会被按下!谢谢!

解决方案 »

  1.   

    很难禁止整菜单,干脆一项一项禁止吧!
    不过有点技巧,你可以先把各个菜单项的ID设置为连续的,在Resource.h文件中设置,然后用循环语句循环设置它为Disable
    CMenu* pMainMenu=AfxGetApp()->m_pMainWnd->GetMenu(); // 获得主菜单指针
    if ( pMainMenu==NULL)
    return;
    HMENU hMenu=pMainMenu->m_hMenu;
    for(int imnuID=StartID,imnuID<=EndID,imnuID++)//StartID为开始的菜单项ID, EndID 为最后的菜单项ID
    {
       ::EnableMenuItem ( hMenu, nID, MF_BYCOMMAND|MF_DISABLED); // 禁止菜单项
    }相应的还有
      ::EnableMenuItem ( hMenu, nID, MF_BYCOMMAND|MF_ENABLED); // 启用菜单项
      

  2.   

    更改下
    ::EnableMenuItem ( hMenu, nID, MF_BYCOMMAND|MF_DISABLED); // 禁止菜单项
    ::EnableMenuItem ( hMenu, nID, MF_BYCOMMAND|MF_ENABLED); // 启用菜单项
    应为
    ::EnableMenuItem ( hMenu, imnuID, MF_BYCOMMAND|MF_DISABLED); // 禁止菜单项
    ::EnableMenuItem ( hMenu, imnuID, MF_BYCOMMAND|MF_ENABLED); // 启用菜单项imnuID 最好这样声明为 UINT imnuID;