头疼,使用了XTPToolkitPro,现在需要将工具条中的一个按钮隐藏,该怎么办?
可以得到CXTPToolBar,可这玩意没有将某个按钮隐藏的功能阿,菜单倒是可以的。
有知道的么?50分给你了。

解决方案 »

  1.   

    楼主讲能请教一下XTremetoolkitPro在VC6.0如何使用吗?
    我现在配置完了。但是不清楚如何使用。
    找了很多资料,例子现在也跑步起来了
      

  2.   

    pStandardBar->GetControls()->Remove(8);
      

  3.   

    没用过XTPToolkitPro,这玩意儿太笨重了,不过不会没有类似HideButton这样的方法吧?
    一定是有的,只不过你没查出来而已。
      

  4.   

    这个貌似pMenuBar是这么用的。你这个pStandardBar是什么类型呢?如何与工具条关联?
      

  5.   

    在命令bars中,有GetMenuBar和GetToolBar两个函数,其中GetToolBar返回指定资源号的工具条对象,是CXTPToolBar类型,但这个类中根本没有隐藏按钮的函数,故此不知道该怎么办
      

  6.   


    我尝试了下,CXTPToolBar标准工具条没法隐藏按钮,也没法删除按钮,但可以替换工具条。
    复制一个工具条,然后在菜单命令中进行重载:
    void CMainFrame::OnTestHidesave()
    {
    // TODO: 在此添加命令处理程序代码
    //ID_FILE_SAVE
    pCommandBars->Remove(pToolBar);
    pToolBar = (CXTPToolBar*)pCommandBars->Add(_T("Standard"), xtpBarTop);
    if (!pToolBar || !pToolBar->LoadToolBar(IDR_MAINFRAME_BAK1))
    {
    TRACE0("Failed to create toolbar\n");
    return ;
    }

    }
    一般我会在程序启动前判断用户权限和级别重载不同的工具条,也可在程序中响应菜单命令等进行重载。但感觉这不是您要的方式。但注意到自定义工具条支持鼠标拖动添加和删除,感觉仔细研究下自定义工具条的实现应该可以实现您的功能,不过不是隐藏按钮,而是移除和添加。但时间仓促,没来得及测试。
    您自己试试看,应该与CXTPCommandBars和CXTPCustomizeCommandsPage相关,就是显示自定义工具条的实现方法。
      

  7.   


    这个pStandardBar是一个CXTPToolBar类型的指针,在我的程序里这么定义的,
    你不是说可以得到CXTPToolBar吗,没有直接的函数隐藏,要GetControls返回一个控制,然后调用这个控制的Remove函数