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 :
Appelez la méthode via l’environnement GetProperty avec __VSFPROPID. VSFPROPID_ExtWindowObject en tant que
VSFPROPID
paramètre pour obtenir l’objetWindow
.Lorsqu’un appelant demande un objet Automation spécifique à VSPackage pour la fenêtre de votre outil via Object, l’environnement appelle
QueryInterface
IExtensibleObject
, IVsExtensibleObjectou lesIDispatch
interfaces. Les deuxIExtensibleObject
etIVsExtensibleObject
fournissent une GetAutomationObject méthode.Lorsque l’environnement appelle ensuite la
GetAutomationObject
méthode en passantNULL
, répondez en transmettant votre objet spécifique à VSPackage.En cas d’appel et d’échec, l’environnement appelle
QueryInterface
IDispatch
.IVsExtensibleObject
QueryInterface
IExtensibleObject
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.