如何操作用_Application::GetCommandBars()取得的对象,比如使菜单和工具条不可见?能不能给出示例代码?谢谢!

解决方案 »

  1.   

    CommandBar cmdBar;
    _CommandBars cmdBars;

    //去掉工具栏
    AfxMessageBox("是否去掉常用工具栏");
    cmdBars.AttachDispatch(oDoc.GetCommandBars(),true);
    cmdBar.AttachDispatch(cmdBars.GetItem(COleVariant("Standard")),true);
    cmdBar.SetVisible (false); //去掉格式栏
    AfxMessageBox("是否去掉格式栏");
    cmdBar.AttachDispatch (cmdBars.GetItem (COleVariant("Formatting")),TRUE);
    cmdBar.SetVisible (false); //去掉菜单
    CommandBar menu;
    menu.AttachDispatch(cmdBars.GetActiveMenuBar()); CommandBarControls menus;
    menus.AttachDispatch(menu.GetControls()); CommandBarPopup Edit, Tools;
    Edit.AttachDispatch(menus.GetItem(COleVariant((short)1)), TRUE);
    Tools.AttachDispatch(menus.GetItem(COleVariant((short)6)), TRUE);
    Edit.SetVisible (false);
    Tools.SetVisible (false);
      

  2.   

    谢谢mybox(卡卡西),可是我在自动化word 2000时,上面去掉菜单的代码部分不管用。顺便问下,用olb生成的_Document的GetCommandBars()和用mso9.dll生成的get_CommandBars()有什么不同,如何用前者给CComPtr < Office::_CommandBars> mybars赋值?