如何使用 Office Ribbon UI 以编程方式禁用按钮或从下拉列表中添加/删除项目
我编写了一个简单的 C++ COM Office 加载项,用于加载功能区 XML 定义并显示简单的功能区选项卡。它具有一些按钮和一个下拉菜单(组合框/下拉列表)。我可以像魅力一样处理按钮单击事件和组合选择更改事件。
现在我想根据活动文档中的更改更新功能区 UI,以便禁用一些按钮并从组合框中添加/删除一些项目。
我上下寻找,找不到控制它的方法。我错过了一些非常明显的东西吗?如何从代码中的任何位置更改按钮启用状态?
I have written a simple C++ COM Office add-in that loads a ribbon XML definition and displays a simple ribbon tab. It features some buttons and a dropDown (combobox/droplist). I can handle button click events and combo selection change events like a charm.
Now I want to update ribbon UI according to changes in the active document so that some buttons are disabled and some items added/removed from combobox.
I have searched up and down and could not find a way to control this. Am I missing something very obvious? How can I change button enabled state from anywhere in my code?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我所看到的完成方式是使用 Windows Ribbon 控件:必须在设计时在 XML 标记中指定额外的按钮。在运行时,您可以调用
SetModes()
来指定在功能区中显示哪些小部件集。像这样:
然后(无论如何在 C# 中)在点击处理程序中,执行
_ribbon.SetModes(1)
或_ribbon.SetModes(0)
。The way I've seen it done, using the Windows Ribbon control: the extra buttons must be specified in the XML markup, at design time. At runtime, you call
SetModes()
to specify which sets of widgets gets displayed in the ribbon.Like this:
Then (in C# anyway) in the click handler, you do
_ribbon.SetModes(1)
or_ribbon.SetModes(0)
.