如何在自定义办公室功能区中拥有多个上下文菜单

时间:2017-04-21 10:23:30

标签: contextmenu ribbon powerpoint-vba office-addins

我正在尝试为Powerpoint的Office插件添加两个上下文菜单。当用户右键单击幻灯片时显示第一个,而当用户右键单击选定形状时显示第二个。它们分开工作,这里是Ribbon xml:

<contextMenus>
<contextMenu idMso="ContextMenuShape">
    <button id=".../>
</contextMenu>
</contextMenus>

<contextMenus>
<contextMenu idMso="ContextMenuFrame">
    <button id=.../>
</contextMenu>
<contextMenus>

但是,当我尝试同时使用两者时,或者通过在contextMenus元素中嵌套contextMenu元素,或者两个单独的contextMenus元素都不显示。有没有办法做到这一点,或者我必须只有一个contextMenu?

1 个答案:

答案 0 :(得分:2)

<contextMenus>元素是<contextMenu>项的容器。在您的ribbon.xml中,您需要将所有上下文菜单项放入&#34; contectMenus&#34;容器。例如:

<contextMenus>
  <contextMenu idMso="ContextMenuShape">
    <button id="id_shape" label="Label 1"/>
  </contextMenu>
  <contextMenu idMso="ContextMenuFrame">
    <button id="id_ffame" label="Label 2"/>
  </contextMenu>
</contextMenus>

要自定义您需要使用的上下文项目的可见性&#34; GetVisible&#34;和#34; GetEnabled&#34;每个上下文菜单中元素的处理程序;在示例中,这些是按钮。