首页 > 单独文章 > 正文

给Office2007用户界面添加自定义对话框启动器

时间:2008-04-09 09:32:11 作者:officeba 【认证】
本文主要提供自定义的XML代码和回调过程代码,以及相应的说明。
可以使用XML和编程代码相结合,在Ribbon中添加自已的自定义对话框启动器(dialogBoxLaunchers)。
用于添加控件的XML
可以使用dialogBoxLauncher元素来添加单个的对话框启动器,下面是代码:
<customUI xmlns=”http://schemas.microsoft.com/office/2006/01/customui“>
  <ribbon startFromScratch=”false”>
    <tabs>
      <tab id=”tab1″ label=”DialogBoxLauncher Demo” >
        <group id=”group1″ label=”Demo Group”>
          <button id=”button1″
             imageMso=”BevelTextGallery”
             label=”A Button”
             onAction=”OnAction”
             size=”large” />
          <dialogBoxLauncher>
            <button id=”button2″
               screentip=
                     “Launched by the DialogBoxLauncher
                     control.”
               onAction=”OnAction” />
          </dialogBoxLauncher>
        </group>
      </tab>
    </tabs>
  </ribbon>
</customUI>
通过给选项卡元素的label属性赋文本值,本示例添加标题为DialogBoxLauncher Demo的自定义选项卡到Office Fluent Ribbon中。这个选项卡包含名为Demo Group组,包含一个名为button1的自定义按钮和一个对话框启动器。该对话框启动器包含一个名为button2的按钮。
注:对话框启动器控件必须包含一个按钮,并且必须作为组元素里的最后一个元素出现。
这个对话框启动器是按钮的容器。通过使用例如screentip和onAction属性来定义该按钮的属性。这些属性被明确地赋值,例如设置screentip属性等于字符串,或者给onAction属性指定过程代码。
在XML中,screentip属性设置当鼠标指针移动到对话框启动器上时显示的小方框,提供关于该项目简洁的上下文帮助。最后,onAction属性指向当单击按钮时执行的回调过程。
对Ribbon组件分配功能
在前面的XML示例中,onAction属性指向一个回调过程。当单击该对话框启动器按钮时,调用OnAction方法或者回调过程。在OnAction方法中的代码为该按钮提供功能。这些过程被称为回调,因为当单击该按钮时,该操作通知Microsoft Office需要注意该控件。然后,Microsoft Office调用返回通过OnAction属性定义的方法,并执行包含在方法中的操作。
Public Sub OnAction(ByVal control As IRibbonControl)
        Select Case control.ID
            Case “button1″
                applicationObject.Range(”A1″).Value = “You selected A button.”
            Case “button2″
                MessageBox.Show(”You can substitute your own text here.”, “dialogBoxLauncher”)
        End Select
End Sub
注:要访问MessageBox类的命名空间,必须在代码顶部声明Imports System.Windows.Forms。
当单击对话框启动器中的按钮时,会通知Microsoft Office。然后,Microsoft Office调用返回到该加载项,触发OnAction回调过程,传递代表该按钮的control对象。测试control对象的Id属性,根据其值,Microsoft Office执行其中的切换语句。特别地,如果该属性的值等于button2,将显示自定义对话框。
实现Ribbon定制
使用Visual Studio 2005整合上述XML和回调过程,最后的结果如图。


相关文章

同类最新