Partager via


CDocObjectServer, classe

Implémente les interfaces OLE supplémentaires nécessaires pour transformer un serveur normal COleDocument en serveur DocObject complet : IOleDocument, IOleDocumentView, IOleCommandTargetet IPrint.

Syntaxe

class CDocObjectServer : public CCmdTarget

Membres

Constructeurs publics

Nom Description
CDocObjectServer ::CDocObjectServer Construit un objet CDocObjectServer.

Méthodes publiques

Nom Description
CDocObjectServer ::ActivateDocObject Active le serveur d’objets de document, mais ne l’affiche pas.

Méthodes protégées

Nom Description
CDocObjectServer ::OnActivateView Affiche l’affichage DocObject.
CDocObjectServer ::OnApplyViewState Restaure l’état de la vue DocObject.
CDocObjectServer ::OnSaveViewState Enregistre l’état de la vue DocObject.

Notes

CDocObjectServer est dérivé CCmdTarget et fonctionne en étroite collaboration avec COleServerDoc les interfaces.

Un document serveur DocObject peut contenir des objets CDocObjectServerItem , qui représentent l’interface du serveur aux éléments DocObject.

Pour personnaliser votre serveur DocObject, dérivez votre propre classe de ses fonctions de CDocObjectServer configuration de vue, OnActivateView, OnApplyViewState et OnSaveViewState. Vous devez fournir une nouvelle instance de votre classe en réponse aux appels d’infrastructure.

Pour plus d’informations sur DocObjects, consultez CDocObjectServerItem et COleCmdUI dans la référence MFC.

Hiérarchie d'héritage

CObject

CCmdTarget

CDocObjectServer

Spécifications

En-tête : afxdocob.h

CDocObjectServer ::ActivateDocObject

Appelez cette fonction pour activer (mais pas afficher) le serveur d’objets de document.

void ActivateDocObject();

Notes

ActivateDocObjectméthode des ActivateMe appelsIOleDocumentSite, mais n’affiche pas la vue, car elle attend des instructions spécifiques sur la configuration et l’affichage de l’affichage, donné dans l’appel à CDocObjectServer ::OnActivateView.

Ensemble, ActivateDocObject activez et OnActivateView affichez la vue DocObject. L’activation DocObject diffère d’autres types d’activation sur place OLE. L’activation de DocObject contourne l’affichage de bordures de hachures sur place et d’ornements d’objets (tels que les poignées de dimensionnement), ignore les fonctions d’étendue d’objet et dessine des barres de défilement dans le rectangle d’affichage plutôt que de les dessiner en dehors de ce rectangle (comme dans l’activation sur place normale).

CDocObjectServer ::CDocObjectServer

Construit et initialise un objet CDocObjectServer.

explicit CDocObjectServer(
    COleServerDoc* pOwner,
    LPOLEDOCUMENTSITE pDocSite = NULL);

Paramètres

pOwner
Pointeur vers le document de site client qui est le client du serveur DocObject.

pDocSite
Pointeur vers l’interface IOleDocumentSite implémentée par le conteneur.

Notes

Lorsqu’un DocObject est actif, l’interface OLE du site client ( IOleDocumentSite) est ce qui permet au serveur DocObject de communiquer avec son client (le conteneur). Lorsqu’un serveur DocObject est activé, il vérifie d’abord que le conteneur implémente l’interface IOleDocumentSite . Dans ce cas, COleServerDoc ::GetDocObjectServer est appelé pour voir si le conteneur prend en charge DocObjects. Par défaut, GetDocObjectServer retourne NULL. Vous devez remplacer COleServerDoc::GetDocObjectServer la construction d’un nouvel CDocObjectServer objet ou d’un objet dérivé de votre propre, avec des pointeurs vers le COleServerDoc conteneur et son IOleDocumentSite interface en tant qu’arguments vers le constructeur.

CDocObjectServer ::OnActivateView

Appelez cette fonction pour afficher la vue DocObject.

virtual HRESULT OnActivateView();

Valeur de retour

Retourne une valeur d’erreur ou d’avertissement. Par défaut, retourne NOERROR en cas de réussite ; sinon, E_FAIL.

Notes

Cette fonction crée une fenêtre de frame sur place, dessine des barres de défilement dans la vue, configure les menus que le serveur partage avec son conteneur, ajoute des contrôles frame, définit l’objet actif, puis affiche la fenêtre frame sur place et définit le focus.

CDocObjectServer ::OnApplyViewState

Remplacez cette fonction pour restaurer l’état de la vue DocObject.

virtual void OnApplyViewState(CArchive& ar);

Paramètres

Ar
Objet CArchive à partir duquel sérialiser l’état d’affichage.

Notes

Cette fonction est appelée lorsque la vue est affichée pour la première fois après son instanciation. OnApplyViewState indique à une vue de se réinitialiser en fonction des données de l’objet CArchive précédemment enregistrés avec OnSaveViewState. La vue doit valider les données dans l’objet CArchive , car le conteneur n’essaie pas d’interpréter les données d’état d’affichage de quelque manière que ce soit.

Vous pouvez utiliser OnSaveViewState pour stocker des informations persistantes spécifiques à l’état de votre vue. Si vous remplacez OnSaveViewState pour stocker des informations, vous devez remplacer OnApplyViewState pour lire ces informations et l’appliquer à votre affichage lorsqu’elles sont nouvellement activées.

CDocObjectServer ::OnSaveViewState

Remplacez cette fonction pour enregistrer des informations d’état supplémentaires sur votre vue DocObject.

virtual void OnSaveViewState(CArchive& ar);

Paramètres

Ar
Objet CArchive auquel l’état d’affichage est sérialisé.

Notes

Votre état peut inclure des propriétés telles que le type d’affichage, le facteur de zoom, l’insertion et le point de sélection, et ainsi de suite. Le conteneur appelle généralement cette fonction avant de désactiver la vue. L’état enregistré peut être restauré ultérieurement via OnApplyViewState.

Vous pouvez utiliser OnSaveViewState pour stocker des informations persistantes spécifiques à l’état de votre vue. Si vous remplacez OnSaveViewState pour stocker des informations, vous devez remplacer OnApplyViewState pour lire ces informations et l’appliquer à votre affichage lorsqu’elles sont nouvellement activées.

Voir aussi

CCmdTarget, classe
Graphique hiérarchique
CDocObjectServerItem, classe