Vereinfachtes Einbetten
Das vereinfachte Einbetten wird in einem Editor aktiviert, wenn sein Dokumentansichtsobjekt Visual Studio übergeordnet ist (d. h. zu einem Kind von Visual Studio gemacht wird) und die IVsWindowPane-Schnittstelle implementiert ist, um seine Fensterbefehle zu verarbeiten. Vereinfachte Einbettungseditoren können keine aktiven Steuerelemente enthalten. Die Objekte, die zur Erstellung eines Editors mit vereinfachter Einbettung verwendet werden, sehen Sie in der folgenden Abbildung.
Editor mit vereinfachter Einbettung
Hinweis
Von den Objekten in dieser Abbildung ist nur das CYourEditorFactory
-Objekt erforderlich, um einen standardmäßigen dateibasierten Editor zu erstellen. Wenn Sie einen benutzerdefinierten Editor erstellen, müssen Sie IVsPersistDocData2 nicht implementieren, da Ihr Editor wahrscheinlich über einen eigenen Mechanismus für die dauerhafte Speicherung verfügt. Bei nicht benutzerdefinierten Editoren müssen Sie dies jedoch tun.
Alle Schnittstellen, die zur Erstellung eines Editors mit vereinfachter Einbettung implementiert werden, sind in dem CYourEditorDocument
-Objekt enthalten. Um jedoch mehrere Ansichten von Dokumentdaten zu unterstützen, teilen Sie die Schnittstellen auf separate Daten- und Ansichtsobjekte auf, wie in der folgenden Tabelle angegeben.
Schnittstelle | Position der Schnittstelle | Zweck |
---|---|---|
IVsWindowPane | Ansicht | Bietet eine Verbindung zum übergeordneten Fenster. |
IOleCommandTarget | Ansicht | Verarbeitet Befehle. |
IVsStatusbarUser | Ansicht | Ermöglicht Aktualisierungen der Statusleiste. |
IVsToolboxUser | Ansicht | Aktiviert Toolbox-Elemente. |
IVsFileChangeEvents | Daten | Sendet Benachrichtigungen, wenn sich die Datei ändert. |
IPersistFileFormat | Daten | Aktiviert die Funktion Speichern unter für einen Dateityp. |
IVsPersistDocData2 | Daten | Aktiviert die Persistenz für das Dokument. |
IVsDocDataFileChangeControl | Daten | Ermöglicht die Unterdrückung von Datei-Änderungsereignissen, wie z. B. das Triggern von Neuladen. |