Beispiel für UI-Manager

Aktualisiert: November 2007

Hinweis:

Dieses Beispiel kann nur in Microsoft Office Outlook 2007 ausgeführt werden.

In diesem Beispiel erfahren Sie, wie die Benutzeroberfläche (UI) von Microsoft Office Outlook 2007 durch Implementieren der Erweiterbarkeitsschnittstellen in einem Add-In angepasst wird. Erweiterbarkeitsschnittstellen werden zum Erstellen einer Multifunktionsleistenanpassung, eines benutzerdefinierten Aufgabenbereichs und eines benutzerdefinierten Formularbereichs verwendet.

In diesem Beispiel wird außerdem eine Methode zur Koordinierung von benutzerdefinierten Benutzeroberflächenelementen für ein bestimmtes Inspektorfenster erläutert. Durch den Code in diesem Beispiel wird sichergestellt, dass die Multifunktionsleistenanpassung, der benutzerdefinierte Aufgabenbereich und ein benutzerdefinierter Formularbereich in einem Inspektor ordnungsgemäß miteinander kommunizieren können. Erforderlich ist eine Kommunikation, die von anderen Instanzen dieser benutzerdefinierten Benutzeroberflächenelemente, die möglicherweise in anderen Inspektoren geöffnet sind, isoliert ist.

Beispiel: Der Benutzer hat mehrere Inspektoren geöffnet, von denen jeder über eine benutzerdefinierte Multifunktionsleiste, einen Aufgaben- sowie über einen Formularbereich verfügt. Wenn der Benutzer mit einem dieser Elemente interagiert – beispielsweise durch Klicken auf eine Schaltfläche auf der Multifunktionsleiste – kann dadurch eine Änderung in einem anderen Element verursacht werden (beispielsweise wird der Aufgabenbereich ausgeblendet). Durch den Code muss sichergestellt werden, dass nur die Elemente in dem betreffenden Inspektor und keine anderen Instanzen dieser benutzerdefinierten Benutzeroberflächenelemente in anderen Inspektoren betroffen sind.

In diesem Beispiel wird eine Reihe von Klassen verwendet, die Inspektorobjekte und Objekte benutzerdefinierter Aufgabenbereiche umschließen, um sicherzustellen, das mit jeder geöffneten Aufgabe und E-Mail ein neuer Aufgabenbereich angezeigt wird. Zudem werden benutzerdefinierte Multifunktionsleisten-Schaltflächen erstellt, mit denen der Aufgabenbereich in jeder Aufgabe oder E-Mail ausgeblendet oder angezeigt wird, und ein benutzerdefinierter Formularbereich in jeder Aufgabe wird angezeigt. Weitere Informationen zur Struktur dieses Beispiels finden Sie unter Komponenten des UI-Manager-Beispiels.

Informationen über das Installieren des Beispielprojekts auf dem Computer finden Sie unter Gewusst wie: Installieren und Verwenden von Beispieldateien in der Hilfe.

Hinweis:

Obgleich in diesem Beispiel Erweiterbarkeitsschnittstellen zum Erstellen einer Multifunktionsleistenanpassung, eines benutzerdefinierten Aufgabenbereichs und eines Formularbereichs verwendet werden, stellt Visual Studio Tools for Office Klassen und Designer bereit, die stattdessen verwendet werden können. Mit diesen Designern und Klassen wird das Arbeiten mit diesen Features vereinfacht. Weitere Informationen finden Sie unter Multifunktionsleisten-Designer, Übersicht über benutzerdefinierte Aufgabenbereiche und Erstellen von Outlook-Formularbereichen.

Sicherheitshinweis:

Dieser Beispielcode veranschaulicht ein Konzept und zeigt nur den Code an, der für dieses Konzept relevant ist. Der Code entspricht möglicherweise nicht den Sicherheitsanforderungen bestimmter Umgebungen und sollte daher nicht in diesem Format verwendet werden. Es wird empfohlen, Sicherheits- und Fehlerbehandlungscode hinzuzufügen, um Projekte sicherer und robuster zu gestalten. Microsoft stellt diesen Beispielcode wie besehen und ohne Garantie zur Verfügung.

Download sample

So führen Sie dieses Beispiel aus

  1. Drücken Sie F5.

  2. Erstellen Sie in Outlook eine neue Aufgabe.

  3. Klicken Sie auf der Registerkarte Add-Ins auf die Multifunktionsleiste der Aufgabe.

  4. Klicken Sie in der Gruppe UI Manager auf die Schaltfläche TaskPane.

    Überprüfen Sie, ob der Aufgabenbereich SimpleControl neben dem Aufgabenfenster angezeigt wird.

  5. Klicken Sie in der Gruppe Show auf die Schaltfläche UIM.

    Überprüfen Sie, ob der benutzerdefinierte Formularbereich im Lesebereich der geöffneten Aufgabe angezeigt wird. Im Formularbereich werden eine Liste der Kaffeebohnen und ein Textfeld angezeigt, das die Anzahl der erteilten Kaffeebestellungen beinhaltet.

  6. Wählen Sie im Formularbereich mindestens eine Kaffeebohnensorte aus.

    Stellen Sie sicher, dass jede ausgewählte Kaffeebohnensorte dem Aufgabenbereich SimpleControl hinzugefügt wird.

  7. Klicken Sie auf der Multifunktionsleiste in der Gruppe Add-In-Dienste auf die Schaltfläche Senden.

    Stellen Sie sicher, dass an den Empfänger someone@example.com eine neue E-Mail gesendet wird und dass die E-Mail alle im Formularbereich ausgewählten Kaffebohnensorten beinhaltet.

    Da es sich bei der E-Mail um eine Kaffeebestellung handelt, erhöht sich im Formularbereich die Anzahl der erteilten Bestellungen.

Anforderungen

Für dieses Beispiel sind die folgenden Anwendungen erforderlich:

  • Visual Studio Tools for Office.

  • Microsoft Office Outlook 2007.

Veranschaulicht

In diesem Beispiel werden die folgenden Konzepte veranschaulicht.

  • Erstellen einer Multifunktionsleiste durch Implementieren der Microsoft.Office.Core.IRibbonExtensibility-Schnittstelle in einem Add-In.

  • Erstellen eines benutzerdefinierten Aufgabenbereichs durch Implementieren der Microsoft.Office.Core.ICustomTaskPaneConsumer-Schnittstelle in einem Add-In.

  • Erstellen eines benutzerdefinierten Formularbereichs durch Implementieren der Microsoft.Office.Interop.Outlook.FormRegionStartup-Schnittstelle in einem Add-In.

  • Verwalten und Synchronisieren der Multifunktionsleistenanpassung, des benutzerdefinierten Aufgabenbereichs und des Formularbereichs in verschiedenen E-Mail-Nachrichten und Aufgaben in Outlook.

Komponenten des UI-Manager-Beispiels

Die Beispielprojektmappe enthält zwei Projekte:

  • Microsoft.Samples.Vsto.UiManager ist ein Add-In-Projekt für Outlook. Dieses Projekt beinhaltet die Implementierungen der Erweiterbarkeitsschnittstellen und anderer Klassen und Dateien, von denen diese Implementierungen unterstützt werden.

  • Microsoft.Samples.Vsto.AddinUtilities ist eine Klassenbibliothek, die vom Outlook-Add-In-Projekt verwendete Klassen und Schnittstellen für die Benutzeroberflächenverwaltung beinhaltet.

Diese Projekte beinhalten Komponenten, mit denen der benutzerdefinierte Aufgabenbereich, die Multifunktionsleistenanpassung und der Formularbereich implementiert werden, sowie Komponenten für die Synchronisierung und Verwaltung dieser Features.

Komponenten für die Benutzeroberflächenverwaltung

In der folgenden Tabelle werden die Projektdateien beschrieben, die Code für die Multifunktionsleistenanpassung bereitstellen.

Datei

Beschreibung

ThisAddIn.cs/vb

Beinhaltet die Überschreibung der RequestService-Methode und des Codes, mit dem ein neuer benutzerdefinierter Aufgabenbereich für jedes Inspektorfenster erstellt wird. Weitere Informationen zu dieser Methode finden Sie unter Anpassen von Features der Benutzeroberfläche mithilfe von Erweiterungsschnittstellen.

UserInterfaceContainer.cs/vb

Definiert die UserInterfaceContainer-Klasse. Jedes UserInterfaceContainer-Objekt dient zum Verwalten des Formular- und Aufgabenbereichs sowie der Multifunktionsleistenanpassung für eine einzelne E-Mail-Nachricht oder Aufgabe.

UserInterfaceElements.cs/vb

Definiert die UserInterfaceElements-Klasse. Dadurch wird die Auflistung von UserInterfaceContainter-Objekten beibehalten, die vom Add-In verwendet werden.

IFormRegionControls.cs/vb

IRibbonConnector.cs/vb

Definiert Schnittstellen, die mehrere Klassen im Microsoft.Samples.Vsto.UiManager- und im Microsoft.Samples.Vsto.AddinUtilities-Projekt zur Kommunikation miteinander verwenden.

Komponenten des benutzerdefinierten Aufgabenbereichs

In der folgenden Tabelle werden die Projektdateien beschrieben, die Code für den benutzerdefinierten Aufgabenbereich bereitstellen.

Datei

Beschreibung

TaskPaneConnector.cs/vb

Definiert die TaskPaneConnector-Klasse. Diese Klasse implementiert die Microsoft.Office.Core.ICustomTaskPaneConsumer-Schnittstelle.

SimpleControl.cs/vb

Definiert das UserControl, das die Benutzeroberfläche des benutzerdefinierten Aufgabenbereichs bereitstellt. Dieses Steuerelement besitzt Attribute, die das Steuerelement für COM verfügbar machen.

Multifunktionsleistenkomponenten

In der folgenden Tabelle werden die Projektdateien beschrieben, die Code für die Multifunktionsleistenanpassung bereitstellen.

Datei

Beschreibung

RibbonConnector.cs/vb

Definiert die RibbonConnector-Klasse. Diese Klasse implementiert die Microsoft.Office.Core.IRibbonExtensibility-Schnittstelle.

SimpleRibbon.xml

TaskRibbon.xml

Beinhaltet die Multifunktionsleisten-XML-Zeichenfolgen, die von der GetCustomUI-Methode der Microsoft.Office.Core.IRibbonExtensibility-Schnittstellenimplementierung zurückgegeben werden.

Formularbereichkomponenten

In der folgenden Tabelle werden die Projektdateien aufgeführt, die Code für den in Aufgabeninspektoren angezeigten benutzerdefinierten Formularbereich bereitstellen.

Datei

Beschreibung

FormRegionConnector.cs/vb

Definiert die FormRegionConnector-Klasse. Diese Klasse implementiert die Microsoft.Office.Interop.Outlook.FormRegionStartup-Schnittstelle.

FormRegionControls.cs/vb

Definiert eine Klasse, mit der die Steuerelemente für jede Formularbereichinstanz verwaltet werden.

PictureConverter.cs/vb

Konvertiert Image in eine IPictureDisp, die zum Anzeigen eines Symbols für einen Formularbereich verwendet werden kann.

SimpleFormRegion.ofs

Definiert die Benutzeroberfläche des Formularbereichs.

SimpleFormRegion.xml

Beinhaltet das Manifest für den Formularbereich.

SimpleFormRegion.reg

Erstellt die Registrierungseinträge, die zum Laden des Formularbereichs erforderlich sind.

Siehe auch

Aufgaben

Demobeispiel für den Aufgabenbereich

Konzepte

Anpassen von Features der Benutzeroberfläche mithilfe von Erweiterungsschnittstellen

Multifunktionsleisten-Designer

Übersicht über benutzerdefinierte Aufgabenbereiche

Verwalten von benutzerdefinierten Aufgabenbereichen in mehreren Anwendungsfenstern

Weitere Ressourcen

Beispiele auf Dokumentebene