Freigeben über


Ein Zollpapier speichern

Die Umgebung behandelt Save, Save Asund Save All Befehle. Wenn ein Benutzer auf Speichernklickt, wird Speichern unter, oder Alles speichern auf dem Datei Menü oder die Projektmappe mit dem Ergebnis einer Alle speichern, der folgende Prozess verwendet wird.

Speichern, Speichern unter, und speichern Sie alle Befehls Klassenbehandlung für einen benutzerdefinierten Editor

Speichern im Kunden-Editor

Dieser Vorgang wird in den folgenden Schritten einzeln aufgeführt:

  1. Für die Speichern und Speichern unter Befehle verwendet die Umgebung den SVsShellMonitorSelection Dienst, um das aktive Dokumentfenster und somit bestimmen, welche Elemente gespeichert werden sollen. Sobald das aktive Dokumentfenster bekannt ist, durchsucht die Umgebung den Hierarchien zeiger- und Elementbezeichner (itemID) für das Dokument in der Tabelle Dokumente. Weitere Informationen finden Sie unter Ausgeführte Tabelle aktiver Dokumente.

    Für den Befehl Alle speichern, die Umgebung verwendet die Informationen in der Tabelle der Dokumente, um die Liste aller Elemente zu kompilieren, um zu speichern.

  2. Wenn die Projektmappe QueryStatus einen Aufruf empfängt, wird sie durch den Satz von ausgewählten Elementen durch (d. h. die Mehrfachauswahl verfügbar gemacht SVsShellMonitorSelection vom Dienst).

  3. Bei jedem Element in der Auswahl, wird die Projektmappe den Zeiger Hierarchien, um die IsItemDirty-Methode aufrufen, um zu bestimmen, ob der Menü Speichern aktiviert werden soll. Wenn eine oder mehrere Elemente geändert wurden, ist der Befehl Speichern aktiviert. Wenn die Hierarchie einen standardmäßigen Editor verwendet, delegiert die Hierarchie Abfragen für geänderten Status in den Editor, indem sie die IsDocDataDirty-Methode aufruft.

  4. Bei jedem ausgewählten Element, das geändert wurde, wird die Projektmappe den Zeiger Hierarchien, um die Hierarchien auf den entsprechenden SaveItem-Methode aufrufen.

    Im Fall eines benutzerdefinierten Editors ist die Kommunikation zwischen Dokumenten und das angegebene Channeldatenobjekt dem Projekt privat. Daher werden alle besonderen Aspekte Dauerhaftigkeit zwischen diesen beiden Objekten behandelt.

    Hinweis

    Wenn Sie implementieren, sind Sie Persistenz, ist die QuerySaveFiles-Methode aufrufen, um Zeit zu sparen.Die überprüft diese Methode, um sicherzustellen, dass es sicher ist, die Datei zu speichern (z. B. die Datei nicht schreibgeschützt).

Siehe auch

Referenz

IOleCommandTarget

Weitere Ressourcen

Öffnen Einsparungs-Projektelemente