Condividi tramite


Per salvare un documento personalizzato

L'handle di ambiente Save, Save Ase controlli di Save All . Quando un utente fa clic su Salvare, Salva con nome, o salvare tutti il menu File o chiude la soluzione, con conseguente salva tutti, il seguente processo si verifica.

Salvare, salva con nome e salvare qualsiasi gestione di comando per un editor personalizzato

Salvataggio editor customer

Questo processo è in dettaglio i passaggi seguenti:

  1. Per i controlli di Salva con nome e di Salvare , l'ambiente viene utilizzato il servizio di SVsShellMonitorSelection per determinare la finestra di documento attivo e quindi gli elementi che devono essere salvati. Una volta che la finestra di documento attivo è noto, l'ambiente viene trovato l'identificatore del puntatore e dell'elemento della gerarchia (ID voce) per il documento nella tabella in esecuzione il documento. Per ulteriori informazioni, vedere Tabella di esecuzione del documento.

    Di salvataggio qualsiasi comando, l'ambiente utilizza le informazioni nella tabella in esecuzione di documento per compilare l'elenco di tutti gli elementi da salvare.

  2. Quando la soluzione riceve una chiamata di QueryStatus , scorre il set di elementi selezionati ossia le selezioni esposte dal servizio di SVsShellMonitorSelection ).

  3. In ogni elemento nella selezione, la soluzione utilizza il puntatore della gerarchia per chiamare il metodo di IsItemDirty per determinare se il comando di menu di salvataggio deve essere abilitato. Se uno o più elementi vengono modificati, il comando salva è abilitato. Se la gerarchia utilizza un editor standard, la gerarchia delega eseguire una query sullo stato cambiato l'editor chiamando il metodo di IsDocDataDirty .

  4. In ogni elemento selezionato è stato modificato, la soluzione utilizza il puntatore della gerarchia per chiamare il metodo di SaveItem sulle gerarchie appropriate.

    Nel caso di un editor personalizzato, la comunicazione tra l'oggetto dati del documento e il progetto è privata. Pertanto, tutte le problematiche particolari di persistenza vengono mantenute tra questi due oggetti.

    Nota

    Se si distribuisce della persistenza, è necessario assicurarsi di chiamare il metodo di QuerySaveFiles per risparmiare tempo.Controlli di questo metodo per assicurarsi che sia protetto salvare il file, il file non sia in sola lettura).

Vedere anche

Riferimenti

IOleCommandTarget

Altre risorse

Salvataggio di elementi di progetto e di apertura