无法从快速访问工具栏 (QAT) 菜单中删除自定义功能区控件

Posted

技术标签:

【中文标题】无法从快速访问工具栏 (QAT) 菜单中删除自定义功能区控件【英文标题】:Cannot remove custom ribbon controls from quick access toolbar (QAT) menu 【发布时间】:2016-12-22 19:44:22 【问题描述】:

我有一个用于 Word 的自定义插件(也可以用于 Excel)。

插件有一个功能区,其中包含多个组和多个控件(按钮)。

这是一个正在进行的项目,有些功能区按钮供用户使用,有些则用于测试/开发目的。

当我将产品发送给客户时,我只显示某些按钮。我希望测试按钮完全不可见/不可访问。我尝试将测试按钮/组设置为可见 = false。

这可行,因为按钮不会出现在功能区上,但如果用户转到 Word 的快速访问工具栏 >“更多命令”>“选择命令自”下拉菜单并选择我的自定义插件...

然后用户可以看到我的所有按钮。甚至那些没有标签的。

我尝试循环使用功能区加载方法中的控件并将测试控件设置为 enabled = false、locked = true、generatemember = false,但这些都没有隐藏 QAT 菜单中的按钮。我也试过 control.Dispose() - 不高兴。

是否可以设置功能区按钮的属性,使其在 QAT 中对用户完全不可见且无法访问??

非常感谢

【问题讨论】:

【参考方案1】:

设置应用模式。

按钮 CommandName='cmdExportMetadata' ApplicationModes='1'

也请参阅以下链接: https://msdn.microsoft.com/en-us/library/windows/desktop/dd940486(v=vs.85).aspx

https://msdn.microsoft.com/en-us/library/windows/desktop/ee264330(v=vs.85).aspx

【讨论】:

【参考方案2】:

我建议您动态创建调试按钮。定义一个常量变量,如public constant string environment = "DEBUG"; 并在启动时检查它

【讨论】:

以上是关于无法从快速访问工具栏 (QAT) 菜单中删除自定义功能区控件的主要内容,如果未能解决你的问题,请参考以下文章

功能区 MFC 中未显示快速访问工具栏 (QAT)

MFC如何隐藏RibbonBar的QAT QuickAccessToolBar(快速访问工具栏)

MFC 单文档添加自定义位图工具栏图标

ios系统word没有自动滚动

从 UIMenuController 中删除自定义菜单项

如何自定义editor.md的工具栏