首页 > 单独文章 > 正文

Office2007 用户界面(UI)的定制(六)

时间:2008-04-16 09:14:34 作者:officeba 【认证】

其它应用程序的Ribbon定制方案
考虑下面列举修改Fluent UI方式的方案,可以进行修改以满足您的需要。
注意:为了在下面的部分演示Ribbon定制的行为,可以使用在本指南前面介绍的技术,详见“Office2007 用户界面(UI)的定制(一)”。

(一) 创建自定义解决方案

到目前为止,您已看到修改已存在Ribbon的每个示例,可以从头开始创建整个UI。如果想创建自已的UI并在Ribbon中设置自已的自定义布局,则可以进行这样的操作。如果设置Ribbon元素的startFromScratch属性为True,则隐藏Ribbon所有的内容(这样不需要手工隐藏每个功能区元素)。当设置startFromScratch属性为True时,将产生下面的变化:

隐藏所有已存在的Ribbon选项卡,包括加载项选项卡。
修改“Office按钮”菜单,仅包括新建、打开、保存、应用程序选项和退出命令。
注意:可以在XML标记文件中指定想要隐藏Office菜单中的控件。必须在XML标记中明确地通过设置特定控件的Visible属性为False来请求这些更改。隐藏这些命令可能会将应用程序陷入不可恢复的状态,仅能通过关闭应用程序并卸载您的解决方案来解决。
设置startFromScratch属性不会对状态栏产生影响。
下面简单的XML标记使用startFromScratch属性来定制Fluent UI。
<customUI xmlns=”http://schemas.microsoft.com/office/2006/01/customui” >
  <ribbon startFromScratch=”true” >
    <tabs>
      <tab id=”CustomTab” label=”My Tab” >
        <group id=”SimpleControls” label=”My Group”>
          <toggleButton id=”ToggleButton1″
            size=”large” label=”Large Toggle Button”/>
          <button id=”Button2″ label=”My Button ” />
          <comboBox id=”Combo1″ label=”ComboBox”>
            <item id=”Month1″ label=”January” />
            <item id=”Month2″ label=”February” />
            <item id=”Month3″ label=”March” />
          </comboBox>
        </group>
      </tab>
    </tabs>
  </ribbon>
</customUI>
这个示例隐藏Fluent UI中所有内置组件,并使用一个自定义选项卡、一个组和不同的控件来取代。

(二) 显示和隐藏选项卡

可以使用如下所示的示例标记来显示或隐藏内置选项卡或自定义选项卡。
<tab idMso=”TabHome” visible=”false” />
如果想要编程确定是否显示或隐藏选项卡(或其它元素),可以提供一个回调过程。也就是说,可以定义元素像下面的XML:
<tab idMso=”TabInsert” getVisible=”getVisibleCallback” />
接下来,在加载项或在VBA代码里,可以提供一个过程来返回Boolean值,指示是否该项目是可见的。例如,可以使用如下所示的代码在周末时隐藏Word 2007中的“插入”选项卡。
Public Sub getVisibleCallback(control As IRibbonControl, _
    ByRef visible As Variant)
    Select Case DatePart(”w”, Date)
        Case vbSaturday, vbSunday
            visible = False
        Case Else
            visible = True
    End Select
End Sub

(三) 显示和隐藏组

可以使用下面的示例代码(与以前示例中的回调过程一起使用)来显示或隐藏内置组或自定义组。
<tab idMso=”TabView”>
  <group idMso=”GroupDocumentViews” visible=”false” />
  <group id=”MyCustomGroup” label=”Custom Group”
    getVisible=”getVisibleCallback” />
</tab>

(四) 添加自定义选项卡

可以使用下面的代码来添加自定义选项卡。
<tab id=”CustomTab” label=”My Tab” />

相关文章

同类最新