首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> VC >> 關於VC++

使用 VC6.0 開發 Word 2007 增益集

     編輯:關於VC++

Microsoft 在 2006 年底推出兩款重量級產品:Vista 與 Office 2007。Office 2007 採用全新 UI 方式,Microsoft 大力推廣這種稱為 Ribbon 的新介面,將為 Office 使用者帶來更大便利性。在 Office 增益集方面,Microsoft 保持對舊版本(Office 2K、XP、03)的相容性,都被放入一個稱為「增益集」的索引標籤中,但外觀較為難看。有沒有辦法讓介面更漂亮?答案是肯定的。

前置準備與介面繼承

本文假設讀者已閱讀並理解上一篇文章:「用 VC6.0 撰寫 Word 增益集 (Office 2K、XP、03)」。首先,引入新版 Office 的幾個程式庫檔案,若電腦安裝了 Office 2007,這些檔案就會存在硬碟中。

接著,原本的 WordAddin 需繼承一個名為 IRibbonExtensibility 的新介面,並實作此介面必要的函式 raw_GetCustomUI。

實作自訂 UI 的 XML 定義

實作 raw_GetCustomUI 函式的目的,是因為 Office 2007 啟動時會詢問增益集的 IRibbonExtensibility 介面是否存在。若存在,便會呼叫此介面的 raw_GetCustomUI 函式,我們必須在此函式中以 XML 方式將 UI 傳給 Office 2007。在 XML 中可自訂所需 UI 形式,樣式豐富多彩。以下是簡單 XML 範例:

<customUI xmlns="https://schemas.microsoft.com/office/2006/01/customui">
  <ribbon startFromScratch="true">
    <tabs>
      <tab id="CustomTab" label="MyTab">
        <group id="SimpleControls" label="MyGroup">
          <button id="Button1" imageMso="HappyFace" size="large"
            label="MyButton" />
        </group>
      </tab>
    </tabs>
  </ribbon>
</customUI>

可將此 XML 字串放入資源檔,並在 raw_GetCustomUI 中傳遞給 Office。以下是此函式的簡單實作:

至此,Word UI 上應可看到我們的增益集:

處理按鈕點擊事件

此時點擊按鈕會發現沒有反應。要回應按鈕事件,需修改兩處。首先在 XML 字串中註明按鈕回應函式:

<customUI xmlns="https://schemas.microsoft.com/office/2006/01/customui">
  <ribbon startFromScratch="true">
    <tabs>
      <tab id="CustomTab" label="MyTab">
        <group id="SimpleControls" label="MyGroup">
          <button id="Button1" imageMso="HappyFace" size="large"
            label="MyButton"
            onAction="OnMyButton" /> <!-- 新增回應函式 -->
        </group>
      </tab>
    </tabs>
  </ribbon>
</customUI>

接著在元件中新增此介面函式:

務必注意新增的介面函式必須與 XML 指定的相同。現在再點擊按鈕,就會彈出對話方塊。

總結

Office 2007 系列增益集與以往編寫方法大異。透過引入 XML UI 配置方式,大幅增加靈活性。秉持與時俱進精神,我們應跟隨 Microsoft 腳步,儘快掌握此技術。

下載原始碼:https://www.vckbase.com/code/downcode.asp?id=3018

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved