Comment : fournir une automatisation pour WindowsHow to: Provide automation for windows

Vous pouvez fournir une automatisation pour les fenêtres de documents et d’outils.You can provide automation for document and tool windows. L’automatisation est recommandée chaque fois que vous souhaitez rendre des objets Automation disponibles dans une fenêtre, et que l’environnement ne fournit pas déjà un objet Automation prêt à l’emploi, comme c’est le cas avec une liste des tâches.Providing automation is advisable whenever you want to make automation objects available on a window, and the environment does not already provide a ready-made automation object, as it does with a task list.

Automatisation pour les fenêtres outilAutomation for tool windows

L’environnement fournit l’automatisation sur une fenêtre outil en retournant un Window objet standard comme expliqué dans la procédure suivante :The environment provides automation on a tool window by returning a standard Window object as explained in the following procedure:

  1. Appelez la GetProperty méthode via l’environnement avec __VSFPROPID. VSFPROPID_ExtWindowObject en tant que VSFPROPID paramètre pour récupérer l' Window objet.Call the GetProperty method via the environment with __VSFPROPID.VSFPROPID_ExtWindowObject as VSFPROPID parameter to get the Window object.

  2. Quand un appelant demande un objet Automation spécifique au VSPackage pour votre fenêtre outil par Object le biais de, l’environnement appelle QueryInterface pour IExtensibleObject , IVsExtensibleObject ou les IDispatch interfaces.When a caller requests a VSPackage-specific automation object for your tool window through Object, the environment calls QueryInterface for IExtensibleObject, IVsExtensibleObject, or the IDispatch interfaces. IExtensibleObjectEt IVsExtensibleObject fournissent une GetAutomationObject méthode.Both IExtensibleObject and IVsExtensibleObject provide a GetAutomationObject method.

  3. Lorsque l’environnement appelle ensuite la GetAutomationObject méthode NULL en passant, répond en remettant en retour votre objet spécifique au VSPackage.When the environment then calls the GetAutomationObject method passing NULL, respond by passing back your VSPackage-specific object.

  4. Si QueryInterface l’appel à IExtensibleObject et IVsExtensibleObject échoue, l’environnement appelle QueryInterface pour IDispatch .If calling QueryInterface for IExtensibleObject and IVsExtensibleObject fails, then the environment calls QueryInterface for IDispatch.

Automatisation pour les fenêtres de documentAutomation for document windows

Un Document objet standard est également disponible à partir de l’environnement, même si un éditeur peut avoir sa propre implémentation de l' Document objet en implémentant l' IExtensibleObject interface et en répondant à GetAutomationObject .A standard Document object is also available from the environment, although an editor can have its own implementation of the Document object by implementing IExtensibleObject interface and responding to GetAutomationObject.

En outre, un éditeur peut fournir un objet Automation spécifique au VSPackage, récupéré via la Object méthode, en implémentant IVsExtensibleObject les IExtensibleObject interfaces ou.In addition, an editor can provide a VSPackage-specific automation object, retrieved through the Object method, by implementing the IVsExtensibleObject or IExtensibleObject interfaces. Les exemples VSSDK contribuent à un objet Automation spécifique aux documents RTF.The VSSDK samples contributes an RTF document-specific automation object.

Voir aussiSee also