Partager via


Gestionnaire de l'interface utilisateur, exemple

Mise à jour : novembre 2007

Remarque :

Cet exemple s'exécute uniquement dans Microsoft Office Outlook 2007.

Cet exemple montre comment personnaliser l'interface utilisateur de Microsoft Office Outlook 2007 en implémentant des interfaces d'extensibilité dans un complément. Il utilise des interfaces d'extensibilité pour créer une personnalisation de ruban, un volet de tâches personnalisé et une zone de formulaire personnalisée.

Cet exemple présente également un moyen de coordonner des éléments d'interface utilisateur personnalisés pour une fenêtre Inspecteur spécifique. Le code de cet exemple garantit que la personnalisation du ruban, le volet de tâches personnalisé et la zone de formulaire personnalisée d'un Inspecteur peuvent communiquer correctement entre eux. Ils doivent communiquer de manière isolée par rapport aux autres instances de ces éléments d'interface personnalisés qui peuvent être ouverts dans d'autres Inspecteurs.

Par exemple, l'utilisateur peut avoir ouvert plusieurs Inspecteurs ayant chacun un ruban personnalisé, un volet de tâches et une zone de formulaire. Lorsque l'utilisateur interagit avec l'un de ces éléments, par exemple, en cliquant sur un bouton du ruban, il peut provoquer une modification d'un autre exemple élément (masquer le volet de tâches, par exemple). Le code doit garantir que seuls les éléments d'un Inspecteur sont affectés et que les autres instances de ces éléments d'interface personnalisés qui se trouvent dans d'autres Inspecteurs restent intacts.

Cet exemple utilise un jeu de classes qui encapsulent l'Inspecteur et le volet de tâches personnalisé pour garantir qu'un nouveau volet de tâches s'affiche pour chaque nouvelle tâche et chaque nouveau message électronique que l'utilisateur ouvre. L'exemple crée également des boutons de ruban personnalisés qui permettent de masquer ou d'afficher le volet de tâches dans chaque tâche ou message électronique et affiche une zone de formulaire personnalisée dans chaque tâche. Pour plus d'informations sur la structure de cet exemple, consultez Composants de l'exemple de gestionnaire de l'interface utilisateur.

Pour plus d'informations sur l'installation de l'exemple de projet sur votre ordinateur, consultez Comment : installer et utiliser des fichiers d'exemple figurant dans l'aide.

Remarque :

Bien que cet exemple utilise des interfaces d'extensibilité pour créer une personnalisation de ruban, un volet de tâches personnalisé et une zone de formulaire, vous pouvez également utiliser des classes et des concepteurs fournis par Visual Studio Tools pour Office. Ces classes et concepteurs simplifient l'utilisation de ces fonctionnalités. Pour plus d'informations, consultez Concepteur de ruban, Vue d'ensemble des volets de tâches personnalisés et Création de zones de formulaire Outlook.

Note de sécurité :

Cet exemple de code est destiné à illustrer un concept et affiche uniquement le code correspondant. Il peut ne pas répondre aux exigences de sécurité d'un environnement spécifique et ne doit pas être utilisé tel quel. Nous vous conseillons d'ajouter un code de gestion des erreurs et de sécurité afin de renforcer la sécurité et la fiabilité de vos projets. Microsoft fournit cet exemple de code « EN L'ÉTAT », sans garantie d'aucune sorte.

Download sample

Pour exécuter cet exemple

  1. Appuyez sur F5.

  2. Dans Outlook, créez une tâche.

  3. Sur le ruban de la tâche, cliquez sur l'onglet Compléments.

  4. Dans le groupe UI Manager, cliquez sur le bouton TaskPane.

    Vérifiez que le volet de tâches SimpleControl s'affiche en regard de la fenêtre de tâche.

  5. Dans le groupe Afficher, cliquez sur le bouton UIM.

    Vérifiez que la zone de formulaire personnalisée s'affiche dans le volet de lecture de la tâche ouverte. La zone de formulaire affiche une liste de grains de café et une zone de texte contenant le nombre de commandes de café passées.

  6. Sélectionnez un ou plusieurs types de grains de café dans la zone de formulaire.

    Vérifiez que chaque type de grain de café sélectionné est ajouté au volet de tâches SimpleControl.

  7. Dans le groupe Services de compléments du ruban, cliquez sur le bouton Envoyer.

    Vérifiez qu'un nouveau message électronique contenant tous les types de grains de café sélectionnés dans la zone de formulaire est envoyé au destinataire xyz@example.com.

    Puisque le message électronique représente une commande de café, le nombre de commandes passées dans la zone de formulaire est incrémenté.

Configuration requise

Cet exemple requiert les applications suivantes :

  • Visual Studio Tools pour Office.

  • Microsoft Office Outlook 2007.

Démonstrations

Cet exemple illustre les concepts suivants :

  • Création d'une personnalisation de ruban par l'implémentation de l'interface Microsoft.Office.Core.IRibbonExtensibility dans un complément.

  • Création d'un volet de tâches personnalisé par l'implémentation de l'interface Microsoft.Office.Core.ICustomTaskPaneConsumer dans un complément.

  • Création d'une zone de formulaire personnalisée par l'implémentation de l'interface Microsoft.Office.Interop.Outlook.FormRegionStartup dans un complément.

  • Gestion et synchronisation de la personnalisation du ruban, du volet de tâches personnalisé et de la zone de formulaire dans différents messages électronique et tâches dans Outlook.

Composants de l'exemple de gestionnaire de l'interface utilisateur

La solution de l'exemple inclut deux projets :

  • Microsoft.Samples.Vsto.UiManager est un projet de complément pour Outlook. Il contient les implémentations des interfaces d'extensibilité et d'autres classes et fichiers qui prennent en charge ces implémentations.

  • Microsoft.Samples.Vsto.AddinUtilities est une bibliothèque de classes qui inclut des classes de gestion d'interface utilisateur et des interfaces utilisées par le projet de complément Outlook.

Ces projets fournissent des composants qui implémentent le volet de tâches personnalisé, la personnalisation du ruban et la zone de formulaire, ainsi que des composants qui aident à synchroniser et à gérer ces fonctionnalités.

Composants de la gestion de l'interface utilisateur

Le tableau suivant décrit les fichiers projet qui fournissent du code pour la personnalisation du ruban.

Fichier

Description

ThisAddIn.cs/vb

Contient la substitution de la méthode RequestService et le code qui crée un volet de tâches personnalisé pour chaque fenêtre Inspecteur. Pour plus d'informations sur cette méthode, consultez Personnalisation des fonctionnalités de l'interface utilisateur à l'aide d'interfaces d'extensibilité.

UserInterfaceContainer.cs/vb

Définit la classe UserInterfaceContainer. Chaque objet UserInterfaceContainer gère la zone de formulaire, le volet de tâches et la personnalisation du ruban pour un message électronique ou une tâche.

UserInterfaceElements.cs/vb

Définit la classe UserInterfaceElements. Cela permet de gérer la collection d'objets UserInterfaceContainter utilisée par le complément.

IFormRegionControls.cs/vb

IRibbonConnector.cs/vb

Définit des interfaces qu'utilisent plusieurs classes des projets Microsoft.Samples.Vsto.UiManager et Microsoft.Samples.Vsto.AddinUtilities pour communiquer entre elles.

Composants du volet de tâches personnalisé

Le tableau suivant décrit les fichiers projet qui fournissent du code pour le volet de tâches personnalisé.

Fichier

Description

TaskPaneConnector.cs/vb

Définit la classe TaskPaneConnector. Cette classe implémente l'interface Microsoft.Office.Core.ICustomTaskPaneConsumer.

SimpleControl.cs/vb

Définit le contrôle UserControl qui fournit l'interface utilisateur du volet de tâches personnalisé. Ce contrôle possède des attributs qui exposent le contrôle à COM.

Composants du ruban

Le tableau suivant décrit les fichiers projet qui fournissent du code pour la personnalisation du ruban.

Fichier

Description

RibbonConnector.cs/vb

Définit la classe RibbonConnector. Cette classe implémente l'interface Microsoft.Office.Core.IRibbonExtensibility.

SimpleRibbon.xml

TaskRibbon.xml

Contient les chaînes XML du ruban retournées par la méthode GetCustomUI de l'implémentation d'interface Microsoft.Office.Core.IRibbonExtensibility.

Composants de la zone de formulaire

Le tableau suivant décrit les fichiers projet qui fournissent du code pour la zone de formulaire personnalisée affichée dans les Inspecteurs de tâche.

Fichier

Description

FormRegionConnector.cs/vb

Définit la classe FormRegionConnector. Cette classe implémente l'interface Microsoft.Office.Interop.Outlook.FormRegionStartup.

FormRegionControls.cs/vb

Définit une classe qui gère les contrôles sur chaque instance de la zone du formulaire.

PictureConverter.cs/vb

Convertit un Image en IPictureDisp permettant d'afficher une icône sur une zone de formulaire.

SimpleFormRegion.ofs

Définit l'interface utilisateur de la zone de formulaire.

SimpleFormRegion.xml

Contient le manifeste pour la zone de formulaire.

SimpleFormRegion.reg

Crée les entrées du Registre requises pour charger la zone de formulaire.

Voir aussi

Tâches

Volet de tâches, exemple de démonstration

Concepts

Personnalisation des fonctionnalités de l'interface utilisateur à l'aide d'interfaces d'extensibilité

Concepteur de ruban

Vue d'ensemble des volets de tâches personnalisés

Gestion des volets de tâches personnalisés dans plusieurs fenêtres d'application

Autres ressources

Exemples au niveau du document