Freigeben über


Bereitstellen von Automatisierung für Fenster

Sie können Automatisierung für Dokument- und Toolfenster bereitstellen. Die Bereitstellung von Automatisierungsobjekten ist ratsam, wenn Sie Automatisierungsobjekte in einem Fenster verfügbar machen möchten, und die Umgebung stellt nicht bereits ein vorgefertigtes Automatisierungsobjekt bereit, wie es mit einer Aufgabenliste der Fall ist.

Automatisierung für Toolfenster

Die Umgebung bietet Automatisierung in einem Toolfenster, indem ein Standardobjekt Window zurückgegeben wird, wie im folgenden Verfahren erläutert:

  1. Rufen Sie die Methode über die GetProperty Umgebung mit __VSFPROPID auf. VSFPROPID_ExtWindowObject als VSFPROPID Parameter zum Abrufen des Window Objekts.

  2. Wenn ein Aufrufer ein VSPackage-spezifisches Automatisierungsobjekt für Ihr Toolfenster durchfordertObject, ruft IExtensibleObjectQueryInterface die Umgebung die Schnittstellen auf , oder IVsExtensibleObjectdie IDispatch Schnittstellen an. Beide IExtensibleObject und IVsExtensibleObject stellen eine GetAutomationObject Methode bereit.

  3. Wenn die Umgebung dann die GetAutomationObject Methode übergibt NULL, reagieren Sie, indem Sie ihr VSPackage-spezifisches Objekt übergeben.

  4. Wenn das Aufrufen QueryInterface nach IExtensibleObject und IVsExtensibleObject fehlschlägt, ruft die Umgebung dies IDispatchaufQueryInterface.

Automatisierung für Dokumentfenster

Ein Standardobjekt Document ist auch in der Umgebung verfügbar, obwohl ein Editor eine eigene Implementierung des Document Objekts haben kann, indem die Schnittstelle implementiert IExtensibleObject und darauf reagiert GetAutomationObject.

Darüber hinaus kann ein Editor ein VSPackage-spezifisches Automatisierungsobjekt bereitstellen, das über die Object Methode abgerufen wird, indem die IVsExtensibleObject Schnittstellen implementiert werden IExtensibleObject . Die VSSDK-Beispiele tragen ein RTF-dokumentspezifisches Automatisierungsobjekt bei.