更新:2007 年 11 月
注意事項: |
|---|
這個範例只會在 Microsoft Office Outlook 2007 中執行。 |
這個範例會示範如何在增益集中實作擴充性介面,來自訂 Microsoft Office Outlook 2007 的使用者介面 (UI)。這個範例會使用擴充性介面來建立功能區自訂、自訂工作窗格和自訂表單區域。
它也會示範一種針對特定偵測器視窗協調自訂 UI 項目的方式。範例中的程式碼會確保偵測器中的功能區自訂、自訂工作窗格、自訂表單區域都能正確地與彼此進行通訊。它們的通訊方式必須與這些自訂 UI 項目的其他執行個體 (可能在其他偵測器中開啟) 有所區隔。
例如,使用者可能具有數個開啟的偵測器,其中每一個都包含自訂功能區、工作窗格和表單區域。當使用者與其中一個項目互動時 (例如,按一下功能區上的按鈕),就會導致其他項目產生變更 (例如,隱藏工作窗格)。程式碼必須確保只會影響單一偵測器中的項目,而不影響這些自訂 UI 項目在其他偵測器中的執行個體。
這個範例會使用一組能夠包裝偵測器與自訂工作窗格物件的類別,確保使用者所開啟的每項工作與電子郵件訊息都會顯示新的工作窗格。這個範例還會建立自訂功能區按鈕,可用來隱藏或顯示每項工作或電子郵件訊息中的工作窗格,並在每項工作中顯示自訂表單區域。如需此範例結構的詳細資訊,請參閱 UI 管理員範例元件。
如需如何在電腦中安裝範例專案的詳細資訊,請參閱 HOW TO:安裝及使用說明中的範例檔。
注意事項: |
|---|
雖然此範例使用擴充性介面來建立功能區自訂、自訂工作窗格和表單區域,Visual Studio Tools for Office 還是會提供您一些替代的類別和設計工具。這些類別和設計工具能夠簡化使用這些功能的流程。如需詳細資訊,請參閱 功能區設計工具、自訂工作窗格概觀和建立 Outlook 表單區域。 |
安全性注意事項: |
|---|
這個範例程式碼是用來說明一個概念,並顯示只與該概念相關的程式碼。這可能不符合特定環境的安全性需求,而且不能完全按照顯示的方法使用。建議您加入安全性和錯誤處理程式碼,使您的專案更安全和穩固。Microsoft 以「原樣」提供這個範例程式碼,且不提供擔保。 |
若要執行這個範例
按下 F5 鍵。
在 Outlook 中,建立新的工作。
按一下工作功能區上的 [增益集] 索引標籤。
按一下 [UI 管理員] 群組中的 [TaskPane] 按鈕。
驗證 [SimpleControl] 工作窗格是否出現在工作視窗旁。
按一下 [顯示] 群組中的 [UIM] 按鈕。
驗證自訂表單區域是否出現在已開啟之工作的 [讀取窗格] 中。表單區域會顯示一份咖啡豆清單,以及一個文字方塊其中含有已下好的咖啡訂單數量。
在表單區域中選取一或多種咖啡豆類型。
驗證所選的每種咖啡豆類型是否已加入至 [SimpleControl] 工作窗格。
在功能區的 [增益集服務] 群組中,按一下 [傳送] 按鈕。
驗證新的電子郵件訊息是否已經傳送至收件者 someone@example.com,而且此電子郵件訊息是否包含您於表單區域中選取的所有咖啡豆類型。
由於電子郵件訊息代表咖啡訂單,因此表單區域中的訂單數量會持續累加。
需求
此範例需要下列應用程式:
Visual Studio Tools for Office.
Microsoft Office Outlook 2007。
示範
本範例會示範下列概念:
實作增益集中的 Microsoft.Office.Core.IRibbonExtensibility 介面來建立功能區自訂。
實作增益集中的 Microsoft.Office.Core.ICustomTaskPaneConsumer 介面來建立自訂工作窗格。
實作增益集中的 Microsoft.Office.Interop.Outlook.FormRegionStartup 介面來建立自訂表單區域。
在 Outlook 的不同電子郵件訊息和工作中,管理並同步處理功能區自訂、自訂工作窗格和表單區域。
UI 管理員元件範例
範例方案包括兩個專案:
Microsoft.Samples.Vsto.UiManager 是一項 Outlook 增益集專案。此專案包含擴充性介面的實作,以及其他支援這些實作的類別和檔案。
Microsoft.Samples.Vsto.AddinUtilities 是一種類別庫 (Class Library),包含 Outlook 增益集專案所使用的 UI 管理類別和介面。
這些專案提供可實作自訂工作窗格、功能區自訂和表單區域的元件,以及可協助同步處理並管理這些功能的元件。
UI 管理元件
下表描述的專案檔,可針對功能區自訂提供所需的程式碼。
檔案 |
描述 |
|---|---|
ThisAddIn.cs/vb |
包含 RequestService 方法的覆寫,以及為每個偵測器視窗建立新自訂工作窗格的程式碼。如需此方法的詳細資訊,請參閱使用擴充性介面自訂 UI 功能。 |
UserInterfaceContainer.cs/vb |
定義 UserInterfaceContainer 類別。每個 UserInterfaceContainer 物件負責針對單一電子郵件訊息或工作管理其表單區域、工作窗格和功能區自訂。 |
UserInterfaceElements.cs/vb |
定義 UserInterfaceElements 類別。這個類別會維護增益集所使用之 UserInterfaceContainter 物件的集合。 |
IFormRegionControls.cs/vb IRibbonConnector.cs/vb |
定義 Microsoft.Samples.Vsto.UiManager 和 Microsoft.Samples.Vsto.AddinUtilities 專案中數個類別用來互相通訊的介面。 |
自訂工作窗格元件
下表描述的專案檔,可針對自訂工作窗格提供所需的程式碼。
檔案 |
描述 |
|---|---|
TaskPaneConnector.cs/vb |
定義 TaskPaneConnector 類別。這個類別會實作 Microsoft.Office.Core.ICustomTaskPaneConsumer 介面。 |
SimpleControl.cs/vb |
定義 UserControl,以提供自訂工作窗格的 UI。此控制項具有可將控制項公開至 COM 的屬性。 |
功能區元件
下表描述的專案檔,可針對功能區自訂提供所需的程式碼。
檔案 |
描述 |
|---|---|
RibbonConnector.cs/vb |
定義 RibbonConnector 類別。這個類別會實作 Microsoft.Office.Core.IRibbonExtensibility 介面。 |
SimpleRibbon.xml TaskRibbon.xml |
包含由 Microsoft.Office.Core.IRibbonExtensibility 介面實作的 GetCustomUI 方法所傳回的功能區 XML 字串。 |
表單區域元件
下表描述的專案檔,可針對顯示在工作偵測器中的自訂表單區域提供所需的程式碼。
檔案 |
描述 |
|---|---|
FormRegionConnector.cs/vb |
定義 FormRegionConnector 類別。這個類別會實作 Microsoft.Office.Interop.Outlook.FormRegionStartup 介面。 |
FormRegionControls.cs/vb |
定義可在每個表單區域執行個體中管理控制項的類別。 |
PictureConverter.cs/vb |
將 Image 轉換為 IPictureDisp,以便用來顯示表單區域內的圖示。 |
SimpleFormRegion.ofs |
定義表單區域的 UI。 |
SimpleFormRegion.xml |
包含表單區域的資訊清單。 |
SimpleFormRegion.reg |
建立載入表單區域所需的登錄項目。 |
注意事項:
安全性注意事項: