Freigeben über


Gewusst wie: Stellen Sie für Fenster bereit

Sie können die Automatisierung für Dokumente und Toolfenster bereitstellen. Automatisierung bereitzustellen ist empfehlenswert, wenn Sie Automatisierungsobjekte in einem Fenster bereitstellen möchten, und die Umgebung nicht bereits enthält ein gebrauchsfertiges Automatisierungsobjekt, wie sie mit einer Aufgabenliste.

Automatisierung für Toolfenster

Die Umgebung wird die Automatisierung in einem Toolfenster aus dem Zurückgeben eines Standard- Window-Objekts bereit, wie in der folgenden Prozedur wird erklärt:

Die Automatisierung für Toolfenster bereitstellen

  1. Rufen Sie die GetProperty-Methode zur Umgebung mit VSFPROPID_ExtWindowObjectVSFPROPID als Parameter an, um das Window-Objekt abzurufen.

  2. Wenn ein Aufrufer um ein VSPackage-Besondere Automatisierungsobjekt für das Toolfenster von Objectanfordert, wird die Umgebung QueryInterface für IExtensibleObject, IVsExtensibleObjectoder die IDispatch-Schnittstellen an. Sowohl IExtensibleObject und IVsExtensibleObject eine GetAutomationObject-Methode.

  3. Wenn die Umgebung anschließend die GetAutomationObject-Methode aufruft, die NULLübergibt, indem Sie zurück übergeben wird, reagiert das VSPackage-Besondere Objekt.

  4. Wenn schlägt der Aufruf von QueryInterface für IExtensibleObject und IVsExtensibleObject aus, und ruft die Umgebung QueryInterface für IDispatchan.

Automatisierung für Dokumentfenster

Ein Standardwert Document-Objekt ist auch aus der Umgebung verfügbar, obwohl ein Editor über eine eigene Implementierung des T:EnvDTE.Document-Objekts enthalten kann, indem er IExtensibleObject-Schnittstelle implementiert und auf GetAutomationObjectreagiert.

Außerdem kann ein Editor ein VSPackage-Besondere Automatisierungsobjekt bereitstellen, durch die Object-Methode abgerufen, indem die IVsExtensibleObject oder IExtensibleObject-Schnittstellen implementiert. Visual Studio-Erweiterbarkeits-Beispiele enthält ein RTF-DOCUMENT besondere Automatisierungsobjekt bei.

Siehe auch

Referenz

IVsExtensibleObject