【问题标题】:how can i hide TRibbon pages?如何隐藏 TRibbon 页面?
【发布时间】:2009-04-15 17:43:45
【问题描述】:

我正在使用 delphi 2009 的 TRibbon 组件。根据应用程序状态,某些页面不相关。如何隐藏 TRibbon 页面?

RibbonPage1.Visible:=false 并没有真正隐藏页面...

微软的规范可能不允许这样做吗?

感谢您的帮助! mp

【问题讨论】:

  • 只是一个旁注——你真的不能这样做,因为它违反了规范。丝带不应该是动态的或无论如何都会改变的。
  • 哦...我不知道。如果您将其作为答案,我想将其作为答案。谢谢你尼克!
  • 但也允许其他方式:根据应用程序的当前状态,可能会显示一些额外的功能区选项卡。例如,在 Word 2010 中选择一个图像并查看可见的额外选项卡。

标签: delphi delphi-2009 vcl ribbon


【解决方案1】:

我不认为您可以隐藏单个功能区页面,但您可以隐藏或禁用每个页面上的单个 RibbonGroups

RibbonGroup1.Enabled := false; 
RibbonGroup2.Visible := false;

Microsoft Office 会禁用与当前状态无关的任何组。查看文档中的这些文章以获得更多帮助。

【讨论】:

    【解决方案2】:

    您目前无法执行此操作。需要支持可见性的是选项卡(而不是页面),而它们根本不需要。

    如果您尝试自己操作选项卡,您会发现代码非常依赖于维护页面和选项卡之间的链接,以致于破坏您的页面。我认为没有好的解决方法。

    Quality Central 中将其注册为错误。支持“上下文”感知选项卡/页面绝对是应该支持的。我想有不少人会投票给它。

    【讨论】:

      【解决方案3】:

      事实上,这是唯一一个被那个无聊的废话正确处理的隐藏/显示的事情。

      MainRibbon.RemoveTab('TabName');

      我现在正在寻找如何隐藏组和个人操作。 Visible = false 不行,试着把你的表单调小一点,在折叠状态下一切都还在。

      【讨论】:

        【解决方案4】:

        也许,试试这个:RibbonPage1.Free;

        【讨论】:

          【解决方案5】:

          试试这个:(Delphi XE6)

          MainRibbon.Tabs[RibbonPage.Index].Visible := FALSE;
          

          然后你可以让它再次可见

          MainRibbon.Tabs[RibbonPage.Index].Visible := TRUE;
          

          【讨论】:

            猜你喜欢
            • 2012-08-28
            • 2020-05-06
            • 2017-01-01
            • 2014-07-19
            • 1970-01-01
            • 1970-01-01
            • 2022-06-11
            • 2010-12-18
            相关资源
            最近更新 更多