Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Implementa le interfacce OLE aggiuntive necessarie per trasformare un server COleDocument normale in un server DocObject completo: IOleDocument, IOleDocumentView, IOleCommandTargete IPrint.
Sintassi
class CDocObjectServer : public CCmdTarget
Membri
Costruttori pubblici
| Nome | Descrizione |
|---|---|
| CDocObjectServer::CDocObjectServer | Costruisce un oggetto CDocObjectServer. |
Metodi pubblici
| Nome | Descrizione |
|---|---|
| CDocObjectServer::ActivateDocObject | Attiva il server oggetti documento, ma non lo mostra. |
Metodi protetti
| Nome | Descrizione |
|---|---|
| CDocObjectServer::OnActivateView | Visualizza la visualizzazione DocObject. |
| CDocObjectServer::OnApplyViewState | Ripristina lo stato della visualizzazione DocObject. |
| CDocObjectServer::OnSaveViewState | Salva lo stato della visualizzazione DocObject. |
Osservazioni:
CDocObjectServer è derivato da CCmdTarget e funziona a stretto contatto con COleServerDoc per esporre le interfacce.
Un documento del server DocObject può contenere oggetti CDocObjectServerItem , che rappresentano l'interfaccia server per gli elementi DocObject.
Per personalizzare il server DocObject, derivare la propria classe da CDocObjectServer ed eseguire l'override delle funzioni di configurazione della visualizzazione, OnActivateView, OnApplyViewState e OnSaveViewState. Sarà necessario fornire una nuova istanza della classe in risposta alle chiamate al framework.
Per altre informazioni su DocObjects, vedere CDocObjectServerItem e COleCmdUI nella Guida di riferimento per MFC.
Gerarchia di ereditarietà
CDocObjectServer
Requisiti
Intestazione: afxdocob.h
CDocObjectServer::ActivateDocObject
Chiamare questa funzione per attivare (ma non visualizzare) il server oggetti documento.
void ActivateDocObject();
Osservazioni:
ActivateDocObject chiama IOleDocumentSiteil metodo , ActivateMe ma non visualizza la visualizzazione perché attende istruzioni specifiche su come configurare e visualizzare la visualizzazione, in base alla chiamata a CDocObjectServer::OnActivateView.
Insieme, ActivateDocObject attivare OnActivateView e visualizzare la visualizzazione DocObject. L'attivazione docObject è diversa da altri tipi di attivazione sul posto OLE. L'attivazione di DocObject ignora la visualizzazione dei bordi del tratteggio sul posto e degli oggetti (ad esempio handle di ridimensionamento), ignora le funzioni di extent dell'oggetto e disegna le barre di scorrimento all'interno del rettangolo di visualizzazione anziché disegnarle all'esterno di tale rettangolo (come nell'attivazione sul posto normale).
CDocObjectServer::CDocObjectServer
Costruisce e inizializza un oggetto CDocObjectServer.
explicit CDocObjectServer(
COleServerDoc* pOwner,
LPOLEDOCUMENTSITE pDocSite = NULL);
Parametri
pOwner
Puntatore al documento del sito client che rappresenta il client per il server DocObject.
pDocSite
Puntatore all'interfaccia IOleDocumentSite implementata dal contenitore.
Osservazioni:
Quando docObject è attivo, l'interfaccia OLE del sito client (IOleDocumentSite) consente al server DocObject di comunicare con il client (il contenitore). Quando viene attivato un server DocObject, verifica innanzitutto che il contenitore implementi l'interfaccia IOleDocumentSite . In tal caso, viene chiamato COleServerDoc::GetDocObjectServer per verificare se il contenitore supporta DocObjects. Per impostazione predefinita, GetDocObjectServer restituisce NULL. È necessario eseguire l'override COleServerDoc::GetDocObjectServer per costruire un nuovo CDocObjectServer oggetto o un oggetto derivato personalizzato, con puntatori al COleServerDoc contenitore e alla relativa IOleDocumentSite interfaccia come argomenti al costruttore.
CDocObjectServer::OnActivateView
Chiamare questa funzione per visualizzare la visualizzazione DocObject.
virtual HRESULT OnActivateView();
Valore restituito
Restituisce un valore di errore o avviso. Per impostazione predefinita, restituisce NOERROR se ha esito positivo; in caso contrario, E_FAIL.
Osservazioni:
Questa funzione crea una finestra cornice sul posto, disegna barre di scorrimento all'interno della visualizzazione, imposta i menu condivisioni server con il relativo contenitore, aggiunge controlli cornice, imposta l'oggetto attivo, infine visualizza la finestra cornice sul posto e imposta lo stato attivo.
CDocObjectServer::OnApplyViewState
Eseguire l'override di questa funzione per ripristinare lo stato della visualizzazione DocObject.
virtual void OnApplyViewState(CArchive& ar);
Parametri
Ar
Oggetto CArchive da cui serializzare lo stato di visualizzazione.
Osservazioni:
Questa funzione viene chiamata quando la visualizzazione viene visualizzata per la prima volta dopo la creazione di istanze.
OnApplyViewState indica a una vista di reinizializzare se stessa in base ai dati nell'oggetto CArchive salvato in precedenza con OnSaveViewState. La vista deve convalidare i dati nell'oggetto CArchive perché il contenitore non tenta di interpretare i dati dello stato di visualizzazione in alcun modo.
È possibile usare OnSaveViewState per archiviare informazioni persistenti specifiche dello stato della visualizzazione. Se si esegue l'override di per archiviare OnSaveViewState le informazioni, è necessario eseguire l'override per leggere tali informazioni e applicarle OnApplyViewState alla visualizzazione quando viene appena attivata.
CDocObjectServer::OnSaveViewState
Eseguire l'override di questa funzione per salvare informazioni aggiuntive sullo stato relative alla visualizzazione DocObject.
virtual void OnSaveViewState(CArchive& ar);
Parametri
Ar
Oggetto CArchive a cui viene serializzato lo stato di visualizzazione.
Osservazioni:
Lo stato può includere proprietà come il tipo di visualizzazione, il fattore di zoom, l'inserimento e il punto di selezione e così via. Il contenitore chiama in genere questa funzione prima di disattivare la visualizzazione. Lo stato salvato può essere ripristinato in un secondo momento tramite OnApplyViewState.
È possibile usare OnSaveViewState per archiviare informazioni persistenti specifiche dello stato della visualizzazione. Se si esegue l'override di per archiviare OnSaveViewState le informazioni, è necessario eseguire l'override per leggere tali informazioni e applicarle OnApplyViewState alla visualizzazione quando viene appena attivata.
Vedi anche
Classe CCmdTarget
Grafico della gerarchia
Classe CDocObjectServerItem