我新建了一个工具条,现在想单击菜单
(打钩表示显示,再次单击,菜单前面的钩去掉了就表示隐藏)请教各位。

解决方案 »

  1.   

    refer to MSDN
    CToolBar::GetToolBarCtrl
    CToolBarCtrl::HideButton
      

  2.   

    ((CWnd*)GetDlgItem("菜单id"))->EnableWindow(TRUE OR FALSE)
      

  3.   

    VC知識庫 http://www.vckbase.com參見http://www.vckbase.com/bbs/prime/viewprime.asp?id=93
    添加如下两个函数
    隐藏:
    void CMainFrame::OnHide() 
    {
        if(m_wndToolBar.IsWindowVisible())
            m_wndToolBar.ModifyStyle(WS_VISIBLE,0);
        SendMessage(WM_SIZE);
    }显示:
    void CMainFrame::OnShow() 
    {
        if(!m_wndToolBar.IsWindowVisible())
            m_wndToolBar.ModifyStyle(0,WS_VISIBLE);
        SendMessage(WM_SIZE);

      

  4.   

    教你简单一招:
    在MainFrm.cpp中加
    ON_COMMAND_EX(ID_, OnBarCheck)
    ON_UPDATE_COMMAND_UI(ID_, OnUpdateControlBarMenu)
    ID_是你工具条的ID觉得好就加分,不客气!
      

  5.   

    教你简单一招:
    在MainFrm.cpp中加
    ON_COMMAND_EX(ID_, OnBarCheck)
    ON_UPDATE_COMMAND_UI(ID_, OnUpdateControlBarMenu)
    ID_是你工具条的ID觉得好就加分,不客气!
      

  6.   

    用窗口函数ShowControlBar()函数,如
         CToolBar m_wndColorBar;
         ShowControlBar(&m_wndColorBar,TRUE,FALSE);
         //第一个参数是工具栏的地址,第二个是BOOL型的值,为TRUE是显示,FALSE为隐藏,第三个为
          是否推迟显示工具栏,TRUE推迟,FALSE为否。
    要在菜单中响应此函数,可以在
    ON_COMMAND_EX(ID_, OnBarCheck)中
    用以上的函数,
    要实现在菜单前打勾,在
    ON_UPDATE_COMMAND_UI(ID_, OnUpdateControlBarMenu)中用
    CCmdUI类的Set……()函数,如pCmdUI->Set……()
    具体Set……什么东西,你查一下MSDN就知道了。
      

  7.   

    ((CWnd*)GetDlgItem("菜单id"))->ShowWindow(SW_HIDE);
      

  8.   

    以上的不好实现,请用ShowControlBar函数