1.EnableMenuItem()的第二个参数怎么设定,我试过 TRUE 和 FALSE 怎么不管用?2.书上有一个按钮是具有 BS_PUSHBUTTON 风格的 CButton 对象,是怎么做的?初学VC,很晕,恳求大家给指明一下!

解决方案 »

  1.   

    //自己设置菜单
    CMenu *pMenu;
    pMenu = m_pMainWnd->GetMenu();
    pMenu->EnableMenuItem(ID_SYSTEM_DBCONNECT,MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);CButton myButton1;
    // Create a push button.
    myButton1.Create(_T("My button"), WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON, 
       CRect(10,10,100,30), pParentWnd, 1);
      

  2.   

    1、要调用菜单更新命令UI消息控制函数。
    通过类向导建立菜单项的更新命令UI函数
    如:
    void CMyView::OnUpdateDraw(CCmdUI* pCmdUI)
    {
      pCmdUI->Enable(...);
    }
    括号里是变为不可用的条件。
      

  3.   

    MF_GRAYED 或
    MF_DISABLED 不是TRUE和FALSE,看一下MSDN,很简单。
      

  4.   

    默认单文档int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
    {
           .......
    CMenu *pTopMenu=GetMenu();
    pTopMenu->EnableMenuItem(ID_APP_ABOUT,MF_GRAYED);
           .......
    }那个'关于'还是可以点
      

  5.   

    GetMenu()是获得主窗口的菜单句柄,
    调用CMenu* GetSubMenu( int nPos ) const;
    获得子菜单的句柄

    CMenu::EnableMenuItem
      

  6.   

    要添加菜单更新命令UI消息控制函数。
    通过类向导建立菜单项的更新命令UI函数
    如:
    void CMyView::OnUpdateDraw(CCmdUI* pCmdUI)
    {
      pCmdUI->Enable(true or false);
    }