如何在自定义办公室功能区中拥有多个上下文菜单
How to have more than one context menu in a custom office Ribbon
我正在尝试向 Powerpoint 的 Office 插件添加两个上下文菜单。当用户右键单击幻灯片时出现第一个,当用户右键单击所选形状时出现第二个。他们分开工作,这里是功能区 xml:
<contextMenus>
<contextMenu idMso="ContextMenuShape">
<button id=".../>
</contextMenu>
</contextMenus>
和:
<contextMenus>
<contextMenu idMso="ContextMenuFrame">
<button id=.../>
</contextMenu>
<contextMenus>
但是当我尝试同时拥有这两种元素时,要么将两个 contextMenu 元素嵌套在 contextMenus 元素中,要么让两个单独的 contextMenus 元素都不显示。有什么方法可以做到这一点,还是我必须只有一个上下文菜单?
<contextMenus>
元素是 <contextMenu>
项的容器。在您的 ribbon.xml 中,您需要将所有上下文菜单项放入 "contectMenus" 容器中。例如:
<contextMenus>
<contextMenu idMso="ContextMenuShape">
<button id="id_shape" label="Label 1"/>
</contextMenu>
<contextMenu idMso="ContextMenuFrame">
<button id="id_ffame" label="Label 2"/>
</contextMenu>
</contextMenus>
要自定义上下文项的可见性,您需要使用每个上下文菜单中元素的 "GetVisible" 和 "GetEnabled" 处理程序;在示例中,这些是按钮。
我正在尝试向 Powerpoint 的 Office 插件添加两个上下文菜单。当用户右键单击幻灯片时出现第一个,当用户右键单击所选形状时出现第二个。他们分开工作,这里是功能区 xml:
<contextMenus>
<contextMenu idMso="ContextMenuShape">
<button id=".../>
</contextMenu>
</contextMenus>
和:
<contextMenus>
<contextMenu idMso="ContextMenuFrame">
<button id=.../>
</contextMenu>
<contextMenus>
但是当我尝试同时拥有这两种元素时,要么将两个 contextMenu 元素嵌套在 contextMenus 元素中,要么让两个单独的 contextMenus 元素都不显示。有什么方法可以做到这一点,还是我必须只有一个上下文菜单?
<contextMenus>
元素是 <contextMenu>
项的容器。在您的 ribbon.xml 中,您需要将所有上下文菜单项放入 "contectMenus" 容器中。例如:
<contextMenus>
<contextMenu idMso="ContextMenuShape">
<button id="id_shape" label="Label 1"/>
</contextMenu>
<contextMenu idMso="ContextMenuFrame">
<button id="id_ffame" label="Label 2"/>
</contextMenu>
</contextMenus>
要自定义上下文项的可见性,您需要使用每个上下文菜单中元素的 "GetVisible" 和 "GetEnabled" 处理程序;在示例中,这些是按钮。