Fournir une automatisation pour les fenêtres

Vous pouvez fournir une automatisation pour les fenêtres de documents et d’outils. Fournir une automatisation est conseillée chaque fois que vous souhaitez rendre les objets d’automatisation disponibles sur une fenêtre, et que l’environnement ne fournit pas déjà d’objet Automation prêt à l’être, comme il le fait avec une liste de tâches.

Automatisation des fenêtres d’outils

L’environnement fournit une automatisation sur une fenêtre d’outil en retournant un objet standard Window , comme expliqué dans la procédure suivante :

  1. Appelez la méthode via l’environnement GetProperty avec __VSFPROPID. VSFPROPID_ExtWindowObject en tant que VSFPROPID paramètre pour obtenir l’objet Window .

  2. Lorsqu’un appelant demande un objet Automation spécifique à VSPackage pour la fenêtre de votre outil via Object, l’environnement appelle QueryInterfaceIExtensibleObject, IVsExtensibleObjectou les IDispatch interfaces. Les deux IExtensibleObject et IVsExtensibleObject fournissent une GetAutomationObject méthode.

  3. Lorsque l’environnement appelle ensuite la GetAutomationObject méthode en passant NULL, répondez en transmettant votre objet spécifique à VSPackage.

  4. En cas d’appel et d’échec, l’environnement appelle QueryInterfaceIDispatch.IVsExtensibleObjectQueryInterfaceIExtensibleObject

Automatisation des fenêtres de document

Un objet standard Document est également disponible à partir de l’environnement, bien qu’un éditeur puisse avoir sa propre implémentation de l’objet Document en implémentant IExtensibleObject l’interface et en répondant à GetAutomationObject.

En outre, un éditeur peut fournir un objet Automation spécifique à VSPackage, récupéré par le biais de la Object méthode, en implémentant les interfaces ou IExtensibleObject les IVsExtensibleObject interfaces. Les exemples VSSDK contribuent à un objet Automation spécifique au document RTF.