Cette page vous a-t-elle été utile ?
Votre avis sur ce contenu est important. N'hésitez pas à nous faire part de vos commentaires.
Vous avez d'autres commentaires ?
1500 caractères restants
MSDN Library
Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

Volets de tâches personnalisés

Les volets de tâches sont des panneaux d'interface utilisateur généralement ancrés à l'un des côtés d'une fenêtre dans une application Microsoft Office. Les volets de tâches personnalisés vous permettent de créer votre propre volet de tâches et de fournir aux utilisateurs une interface familière pour accéder aux fonctionnalités de votre solution. Par exemple, l'interface peut comporter des contrôles exécutant du code pour modifier des documents ou afficher des données à partir d'une source de données.

S'applique à : les informations contenues dans cette rubrique s'appliquent aux projets de compléments VSTO pour Outlook. Pour plus d'informations, voir Fonctionnalités disponibles par type d'application et de projet Office.

RemarqueRemarque

Un volet de tâches personnalisé diffère du volet Actions. Le volet Actions fait partie des personnalisations au niveau du document pour Microsoft Office Word et Microsoft Office Excel. Pour plus d'informations, consultez Vue d'ensemble du volet Actions.

Les volets de tâches personnalisés vous permettent d'intégrer vos propres fonctionnalités dans une interface utilisateur familière. Vous pouvez créer rapidement un volet de tâches personnalisé à l'aide des outils Visual Studio.

Aa942864.collapse_all(fr-fr,VS.140).gifInterface utilisateur familière

Les utilisateurs des applications figurant dans Microsoft Office System sont déjà habitués à utiliser les volets de tâches, tels que le volet de tâches Styles et mise en forme de Word. Les volets de tâches personnalisés se comportent comme les autres volets de tâches de Microsoft Office System. Les utilisateurs peuvent ancrer les volets de tâches personnalisés aux différents côtés de la fenêtre d'application ou les faire glisser n'importe où dans la fenêtre. Vous pouvez créer un complément VSTO qui affiche plusieurs volets de tâches personnalisés simultanément, et les utilisateurs peuvent contrôler individuellement chaque volet de tâches.

Aa942864.collapse_all(fr-fr,VS.140).gifPrise en charge des contrôles Windows Forms

L'interface utilisateur d'un volet de tâches personnalisé que vous créez à l'aide des outils de développement Office dans Visual Studio est basée sur les contrôles Windows Forms. Le concepteur Windows Forms familier vous permet de concevoir l'interface utilisateur pour un volet de tâches personnalisé. Vous pouvez également utiliser la prise en charge des liaisons de données dans Windows Forms pour lier une source de données à des contrôles dans le volet de tâches.

Vous pouvez créer un volet de tâches personnalisé de base en deux étapes :

  1. Créez une interface utilisateur pour votre volet de tâches personnalisé en ajoutant des contrôles Windows Forms à un objet UserControl.

  2. Instanciez le volet de tâches personnalisé en passant le contrôle utilisateur à l'objet CustomTaskPaneCollection dans votre complément VSTO. Cette collection retourne un nouvel objet CustomTaskPane pouvant servir à modifier l'apparence du volet de tâches et à répondre aux événements utilisateur.

Pour plus d'informations, consultez Comment : ajouter un volet de tâches personnalisé à une application.

Aa942864.collapse_all(fr-fr,VS.140).gifCréation de l'interface utilisateur

Tous les volets de tâches personnalisés créés à l'aide des outils de développement Office dans Visual Studio contiennent un objet UserControl. Ce contrôle utilisateur fournit l'interface utilisateur de votre volet de tâches personnalisé. Vous pouvez créer ce contrôle utilisateur au moment du design ou de l'exécution. Si vous le créez au moment du design, vous pouvez utiliser le concepteur Windows Forms pour construire l'interface utilisateur de votre volet de tâches.

Aa942864.collapse_all(fr-fr,VS.140).gifInstanciation du volet de tâches personnalisé

Après avoir créé un contrôle utilisateur contenant l'interface utilisateur du volet de tâches personnalisé, vous devez instancier un objet CustomTaskPane. Pour cela, passez le contrôle utilisateur à l'objet CustomTaskPaneCollection de votre complément VSTO en appelant l'une des méthodes Add. Cette collection est exposée en tant que champ CustomTaskPanes de la classe ThisAddIn. L'exemple de code suivant est destiné à être exécuté à partir de la classe ThisAddIn.


myUserControl1 = new MyUserControl();
myCustomTaskPane = this.CustomTaskPanes.Add(myUserControl1, "My Task Pane");
myCustomTaskPane.Visible = true;


Les méthodes Add retournent un nouvel objet CustomTaskPane. Vous pouvez utiliser cet objet pour modifier l'apparence du volet de tâches et répondre aux événements utilisateur.

Aa942864.collapse_all(fr-fr,VS.140).gifContrôle du volet de tâches dans plusieurs fenêtres

Les volets de tâches personnalisés sont associés à une fenêtre frame de document, qui présente une vue d'un document ou d'un élément à l'utilisateur. Le volet de tâches est visible uniquement quand la fenêtre associée est visible.

Pour déterminer la fenêtre qui affiche le volet de tâches personnalisé, utilisez la surcharge de méthode Add appropriée quand vous créez le volet de tâches :

Certaines applications Office nécessitent des instructions explicites pour savoir quand créer ou afficher votre volet de tâches, quand plusieurs fenêtres sont ouvertes. Il est donc important de se demander où instancier le volet de tâches personnalisé dans votre code pour vous assurer que ce volet s'affiche avec les documents et éléments appropriés dans l'application. Pour plus d'informations, consultez Gestion des volets de tâches personnalisés dans les fenêtres d'application.

Pour automatiser l'application à partir du contrôle utilisateur, vous pouvez directement accéder au modèle objet en utilisant Globals.ThisAddIn.Application dans votre code. La classe Globals statique permet d'accéder à l'objet ThisAddIn. Le champ Application de cet objet est le point d'entrée dans le modèle objet de l'application.

Pour plus d'informations sur le champ Application de l'objet ThisAddIn, consultez Programmation de compléments VSTO. Pour une procédure pas à pas montrant comment automatiser une application à partir d'un volet de tâches personnalisé, consultez Procédure pas à pas : automatisation d'une application à partir d'un volet de tâches personnalisé. Pour plus d'informations sur la classe Globals, consultez Accès global aux objets dans les projets Office.

Après avoir créé le volet de tâches, vous pouvez utiliser les propriétés et événements de l'objet CustomTaskPane pour contrôler l'interface utilisateur du volet de tâches et répondre quand l'utilisateur modifie ce volet.

Aa942864.collapse_all(fr-fr,VS.140).gifAffichage du volet de tâches personnalisé

Par défaut, le volet de tâches n'est pas visible. Pour rendre visible le volet de tâches, vous devez affecter la valeur true à la propriété Visible.

Les utilisateurs peuvent fermer un volet de tâches à tout moment en cliquant sur le bouton Fermer (X) dans le coin du volet de tâches. Toutefois, il n'existe pas de méthode par défaut permettant de rouvrir le volet de tâches personnalisé. Si un utilisateur ferme un volet de tâches personnalisé, il ne peut pas l'afficher de nouveau à moins que vous lui fournissiez un moyen de le faire.

Si vous créez un volet de tâches personnalisé dans votre complément VSTO, vous devez également créer un élément d'interface utilisateur, tel qu'un bouton, sur lequel les utilisateurs peuvent cliquer pour afficher ou masquer le volet de tâches personnalisé. Si vous créez un volet de tâches personnalisé dans une application Microsoft Office qui prend en charge la personnalisation du ruban, vous pouvez ajouter un groupe de contrôles au ruban avec un bouton permettant d'afficher ou de masquer le volet de tâches personnalisé. Pour examiner une procédure pas à pas illustrant ce processus, consultez Procédure pas à pas : synchronisation d'un volet de tâches personnalisé avec un bouton dans le ruban.

Si vous créez un volet de tâches personnalisé dans une application Microsoft Office qui ne prend en charge la personnalisation du ruban, vous pouvez ajouter un objet CommandBarButton permettant d'afficher ou de masquer le volet de tâches personnalisé.

Aa942864.collapse_all(fr-fr,VS.140).gifModification de l'apparence du volet de tâches

Vous pouvez contrôler la taille et l'emplacement d'un volet de tâches personnalisé à l'aide des propriétés de l'objet CustomTaskPane. Vous pouvez apporter de nombreuses autres modifications à l'apparence d'un volet de tâches personnalisé à l'aide des propriétés de l'objet UserControl figurant dans le volet de tâches personnalisé. Par exemple, vous pouvez spécifier une image d'arrière-plan pour un volet de tâches personnalisé à l'aide de la propriété BackgroundImage du contrôle utilisateur.

Le tableau suivant répertorie les modifications que vous pouvez apporter à un volet de tâches personnalisé à l'aide des propriétés CustomTaskPane.

Tâche

Property

Modifier la taille du volet de tâches

[ P:Microsoft.Office.Tools.CustomTaskPane.Height ]

[ P:Microsoft.Office.Tools.CustomTaskPane.Width ]

Modifier l'emplacement du volet de tâches

[ P:Microsoft.Office.Tools.CustomTaskPane.DockPosition ]

Masquer et rendre visible le volet de tâches

[ P:Microsoft.Office.Tools.CustomTaskPane.Visible ]

Empêcher l'utilisateur de modifier l'emplacement du volet de tâches

[ P:Microsoft.Office.Tools.CustomTaskPane.DockPositionRestrict ]

Aa942864.collapse_all(fr-fr,VS.140).gifProgrammation d'événements d'un volet de tâches personnalisé

Vous souhaitez peut-être que votre complément VSTO réponde quand l'utilisateur modifie le volet de tâches personnalisé. Par exemple, si l'utilisateur remplace l'orientation verticale du volet par l'orientation horizontale, vous pouvez repositionner les contrôles.

Le tableau suivant répertorie les événements que vous pouvez gérer pour répondre aux modifications susceptibles d'être apportées par l'utilisateur dans le volet de tâches personnalisé.

Tâche

event

Répondre quand l'utilisateur modifie l'emplacement du volet de tâches

[ E:Microsoft.Office.Tools.CustomTaskPane.DockPositionChanged ]

Répondre quand l'utilisateur masque ou rend visible le volet de tâches

[ E:Microsoft.Office.Tools.CustomTaskPane.VisibleChanged ]

Une fois que vous avez créé un volet de tâches personnalisé, l'objet CustomTaskPane reste en mémoire tant que votre complément VSTO est en cours d'exécution. L'objet reste en mémoire même quand l'utilisateur clique sur le bouton Fermer (X) dans le coin du volet de tâches.

Pour nettoyer les ressources utilisées par le volet de tâches alors que le complément VSTO est encore en cours d'exécution, utilisez les méthodes Remove ou RemoveAt. Ces méthodes suppriment l'objet CustomTaskPane spécifié de la collection CustomTaskPanes, et elles appellent la méthode Dispose de l'objet.

Visual Studio Tools pour Office Runtime nettoie automatiquement les ressources utilisées par le volet de tâches personnalisé quand le complément VSTO est déchargé. N'appelez pas les méthodes Remove ou RemoveAt dans le gestionnaire d'événements ThisAddIn_Shutdown dans votre projet. Ces méthodes lèvent une exception ObjectDisposedException car Visual Studio Tools pour Office Runtime nettoie les ressources utilisées par l'objet CustomTaskPane avant l'appel de ThisAddIn_Shutdown. Pour plus d'informations sur ThisAddIn_Shutdown, consultez Événements dans les projets Office.

Quand vous créez un volet de tâches personnalisé dans une application qui utilise plusieurs fenêtres pour afficher des documents et d'autres éléments, vous devez prendre des mesures supplémentaires pour garantir l'affichage du volet de tâches quand l'utilisateur s'attend à le voir.

Dans toutes les applications, les volets de tâches personnalisés sont associés à une fenêtre frame de document, qui présente une vue d'un document ou d'un élément à l'utilisateur. Le volet de tâches est visible uniquement quand la fenêtre associée est visible. Toutefois, toutes les applications n'utilisent pas les fenêtres frame de document de la même façon.

Les groupes d'applications suivants ont des exigences différentes en termes de développement :

lien vers la vidéo Pour visionner une vidéo associée, consultez Comment : gérer les volets de tâches dans les compléments VSTO Word.

Quand vous créez un volet de tâches personnalisé pour Outlook, le volet est associé à une fenêtre d'explorateur ou d'inspecteur spécifique. Les explorateurs sont des fenêtres qui affichent le contenu d'un dossier, et les inspecteurs sont des fenêtres qui affichent un élément tel qu'un message électronique ou une tâche.

Pour afficher un volet de tâches personnalisé avec plusieurs fenêtres d'explorateur ou d'inspecteur, vous devez créer une nouvelle instance du volet de tâches personnalisé quand une fenêtre d'explorateur ou d'inspecteur s'ouvre. Pour cela, gérez un événement qui se déclenche quand une fenêtre d'explorateur ou d'inspecteur est créée, puis créez le volet de tâches dans le gestionnaire d'événements. Vous pouvez également gérer les événements d'explorateur et d'inspecteur pour masquer ou afficher les volets de tâches en fonction de la fenêtre visible.

Pour associer le volet de tâches à un explorateur ou un inspecteur spécifique, utilisez la méthode CustomTaskPaneCollection.Add(UserControl, String, Object) pour créer le volet de tâches, puis passez l'objet Explorer ou Inspector au paramètre window. Pour plus d'informations sur la création de volets de tâches personnalisés, consultez Volets de tâches personnalisés.

Pour examiner une procédure pas à pas illustrant comment créer un volet de tâches pour chaque message électronique ouvert, consultez Procédure pas à pas : affichage de volets de tâches personnalisés avec des messages électroniques dans Outlook.

Aa942864.collapse_all(fr-fr,VS.140).gifÉvénements Outlook

Pour surveiller l'état des fenêtres d'explorateur, vous pouvez gérer les événements d'explorateur suivants :

  • [ E:Microsoft.Office.Interop.Outlook.ExplorersEvents_Event.NewExplorer ]

  • [ E:Microsoft.Office.Interop.Outlook.ExplorerEvents_10_Event.Activate ]

  • [ E:Microsoft.Office.Interop.Outlook.ExplorerEvents_10_Event.Close ]

  • [ E:Microsoft.Office.Interop.Outlook.ExplorerEvents_10_Event.Deactivate ]

Pour surveiller l'état des fenêtres d'inspecteur, vous pouvez gérer les événements d'inspecteur suivants :

  • [ E:Microsoft.Office.Interop.Outlook.InspectorsEvents_Event.NewInspector ]

  • [ E:Microsoft.Office.Interop.Outlook.InspectorEvents_10_Event.Activate ]

  • [ E:Microsoft.Office.Interop.Outlook.InspectorEvents_10_Event.Close ]

  • [ E:Microsoft.Office.Interop.Outlook.InspectorEvents_10_Event.Deactivate ]

Aa942864.collapse_all(fr-fr,VS.140).gifEmpêcher l'affichage de plusieurs instances d'un volet de tâches personnalisé dans Outlook

Pour empêcher les fenêtres Outlook d'afficher plusieurs instances d'un volet de tâches personnalisé, supprimez explicitement le volet de tâches personnalisé de la collection CustomTaskPanes de la classe ThisAddIn quand chaque fenêtre est fermée. Appelez la méthode Remove dans un événement qui est déclenché quand une fenêtre est fermée, tel que ExplorerEvents_10_Event.Close ou InspectorEvents_10_Event.Close.

Si vous ne supprimez pas explicitement le volet de tâches personnalisé, les fenêtres Outlook peuvent afficher plusieurs instances du volet de tâches personnalisé. Outlook recycle parfois des fenêtres. Ces fenêtres recyclées conservent les références aux éventuels volets de tâches personnalisés qui leur ont été attachés.

Word, InfoPath et PowerPoint affichent chaque document dans une fenêtre frame de document différente. Quand vous créez un volet de tâches personnalisé pour ces applications, le volet est associé uniquement à un document spécifique. Si l'utilisateur ouvre un autre document, le volet de tâches personnalisé est masqué jusqu'à ce que le document précédent soit de nouveau visible.

Pour afficher un volet de tâches personnalisé avec plusieurs documents, créez une nouvelle instance du volet de tâches personnalisé quand l'utilisateur crée un nouveau document ou ouvre un document existant. Pour cela, gérez les événements qui se déclenchent quand un document est créé ou ouvert, puis créez le volet de tâches dans les gestionnaires d'événements. Vous pouvez également gérer les événements de document pour masquer ou afficher les volets de tâches en fonction du document visible.

Pour associer le volet de tâches à une fenêtre de document spécifique, utilisez la méthode CustomTaskPaneCollection.Add(UserControl, String, Object) pour créer le volet de tâches et passez Microsoft.Office.Interop.Word.Window (pour Word), Microsoft.Office.Interop.InfoPath.WindowObject (pour InfoPath) ou Microsoft.Office.Interop.PowerPoint.DocumentWindow (pour PowerPoint) au paramètre window.

Aa942864.collapse_all(fr-fr,VS.140).gifÉvénements Word

Pour surveiller l'état des fenêtres de document dans Word, vous pouvez gérer les événements suivants :

  • [ E:Microsoft.Office.Interop.Word.ApplicationEvents4_Event.DocumentBeforeClose ]

  • [ E:Microsoft.Office.Interop.Word.ApplicationEvents4_Event.DocumentOpen ]

  • [ E:Microsoft.Office.Interop.Word.ApplicationEvents4_Event.NewDocument ]

  • [ E:Microsoft.Office.Interop.Word.ApplicationEvents4_Event.WindowActivate ]

  • [ E:Microsoft.Office.Interop.Word.ApplicationEvents4_Event.WindowDeactivate ]

Aa942864.collapse_all(fr-fr,VS.140).gifÉvénements InfoPath

Pour surveiller l'état des fenêtres de document dans InfoPath, vous pouvez gérer les événements suivants :

  • [ E:Microsoft.Office.Interop.InfoPath._ApplicationEvents_Event.NewXDocument ]

  • [ E:Microsoft.Office.Interop.InfoPath._ApplicationEvents_Event.WindowActivate ]

  • [ E:Microsoft.Office.Interop.InfoPath._ApplicationEvents_Event.WindowDeactivate ]

  • [ E:Microsoft.Office.Interop.InfoPath._ApplicationEvents_Event.XDocumentBeforeClose ]

  • [ E:Microsoft.Office.Interop.InfoPath._ApplicationEvents_Event.XDocumentOpen ]

Aa942864.collapse_all(fr-fr,VS.140).gifÉvénements PowerPoint

Pour surveiller l'état des fenêtres de document dans PowerPoint, vous pouvez gérer les événements suivants :

  • [ E:Microsoft.Office.Interop.PowerPoint.EApplication_Event.AfterNewPresentation ]

  • [ E:Microsoft.Office.Interop.PowerPoint.EApplication_Event.AfterPresentationOpen ]

  • [ E:Microsoft.Office.Interop.PowerPoint.EApplication_Event.NewPresentation ]

  • [ E:Microsoft.Office.Interop.PowerPoint.EApplication_Event.PresentationOpen ]

  • [ E:Microsoft.Office.Interop.PowerPoint.EApplication_Event.WindowActivate ]

  • [ E:Microsoft.Office.Interop.PowerPoint.EApplication_Event.WindowDeactivate ]

Afficher:
© 2015 Microsoft