细品RibbonX(44):在Office菜单中添加项目

细品RibbonX(44):在Office菜单中添加项目

资料整理来自于论坛
完整版下载地址:http://download.csdn.net/download/nodeman/10264659

 

 Loading ...

 

Office菜单就是应用程序窗口左上角的一个小的应用程序按钮,这个按钮被称作Office按钮,包含一些通用的操作或命令,例如打印、保存和发布。定制Office菜单时,其下的命令将影响整个文档,而不是文档的特定部分,例如段落或字体格式。
Office菜单使用下面的XML标记:

        <officeMenu>
            <!--
                Everything else goes here
            -->
        </officeMenu>

下表列出了Office菜单的子元素。

对象

用来做什么

control

引用通用控件对象,能够表现其它对象例如按钮、拆分按钮、组,等

button

引用通过正常的单击就能执行某类操作的按钮控件
checkbox 引用复选框控件

gallery

引用库控件

toggleButton

引用切换按钮,在True/False值之间切换

menuSeparator

引用菜单分隔条项

splitButton

引用能够用于容纳其它控件例如按钮控件的拆分按钮

menu

引用能够用于容纳其它控件例如按钮控件的菜单控件

dynamicMenu

引用动态菜单,能够在运行时接受动态的XML内容


下图为定制Excel中Office菜单的一个示例。在Office菜单中添加了一个拆分按钮My Tools,包含两个组My Toolset1和My Toolset2。

在这个示例中,我们创建了包含菜单(根据特定任务组织的几个按钮)的拆分按钮,XML代码如下:

<customUIxmlns="http://schemas.microsoft.com/office/2006/01/customui">
  <ribbonstartFromScratch="false">
    <officeMenu>
      <splitButton
       id="rxsbtn"
       insertBeforeMso="FilePrintMenu">
       <button
         id="rxbtnSplitMain"
         label="My Tools"
         imageMso="CreateModule"/>
        <menu
          id="rxmnu"
          itemSize="large">
         <menuSeparator
           id="rxsep1"
           title="My Toolset 1"/>
          <button
            id="rxbtnEmailSheet"
            imageMso="FileSendAsAttachment"
            label="E-mail sheet as attachment"
            description="E-mail the active sheet as an attachment"
            onAction="rxshared_click"/>
          <button
            id="rxbtnEmailSupport"
            imageMso="MessageToAttendeesMenu"
            label="E-mail technical support"
            description="E-mail technical support about issues on this application..."
            onAction="rxshared_click"/>
          <button
            id="rxbtnEmailBug"
            imageMso="ResearchPane"
            label="E-mail a bug"
            description="E-mail technical support about bugs found on this application..."
            onAction="rxshared_click"/>
         <menuSeparator
           id="rxsep2"
           title="My Toolset 2"/>
          <button
            id="rxbtnPrintPDF"
            imageMso="FilePrint"
            label="Print to PDF"
            description="Print active sheet to PDF file format"
            onAction="rxshared_click"/>
        </menu>
      </splitButton>
    </officeMenu>
  </ribbon>
</customUI>

实际上,菜单控件也可以提供相同的定制而不须像拆分按钮那样的中间步骤,例如上例可以修改如下:

<customUIxmlns="http://schemas.microsoft.com/office/2006/01/customui">
  <ribbonstartFromScratch="false">
    <officeMenu>
        <menu
          id="rxmnu"
          insertBeforeMso="FilePrintMenu"
          label="My Tools"
          imageMso="CreateModule"
          itemSize="large">
         <menuSeparator
           id="rxsep1"
           title="My Toolset 1"/>
          <button
            id="rxbtnEmailSheet"
            imageMso="FileSendAsAttachment"
            label="E-mail sheet as attachment"
            description="E-mail the active sheet as an attachment"
            onAction="rxshared_click"/>
          <button
            id="rxbtnEmailSupport"
            imageMso="MessageToAttendeesMenu"
            label="E-mail technical support"
            description="E-mail technical support about issues on this application..."
            onAction="rxshared_click"/>
          <button
            id="rxbtnEmailBug"
            imageMso="ResearchPane"
            label="E-mail a bug"
            description="E-mail technical support about bugs found on this application..."
            onAction="rxshared_click"/>
         <menuSeparator
           id="rxsep2"
           title="My Toolset 2"/>
          <button
            id="rxbtnPrintPDF"
            imageMso="FilePrint"
            label="Print to PDF"
            description="Print active sheet to PDF file format"
            onAction="rxshared_click"/>
        </menu>
    </officeMenu>
  </ribbon>
</customUI>

结果如下图所示:

可以看出,实现的效果并没有太大的差异。如果认真观察,就会发现拆分按钮在箭头和按扭之间有一条分隔线,而菜单则没有。
上面的示例是在Office菜单中添加自已自定义的项目,当然也可以在Office菜单里的内置元素中添加自定义项目或内置项目,此时您需要知道在什么元素中放置项目,下表列出了Office菜单元素。
表:Office菜单元素

元素

类型

IDMSO

应用于

新建

按钮

FileMenu

Excel/Access/Word

打开

按钮

FileOpen

Excel/Word

打开

按钮

FileOpenDatabase

Access

保存

按钮

FileSave

Excel/Word/Access

另存为

拆分按钮

FileSaveAsMenu

Excel/Word

另存为

拆分按钮

FileSaveAsMenuAccess

Access

打印

拆分按钮

FilePrintMenu

Excel/Word/Access

准备

菜单

FilePrepareMenu

Excel/Word

管理

菜单

FileManageMenu

Access

发送

菜单

FileSendMenu

Excel/Word

电子邮件

按钮

FileSendAsAttachment

Access

发布

菜单

MenuPublish

Excel/Word/Access

关闭

按钮

FileClose

Excel/Word

关闭数据库

按钮

FileCloseDatabase

Access

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值