CDocObjectServer, classe
Implémente les interfaces OLE supplémentaires nécessaires pour transformer un serveur normal COleDocument
en serveur DocObject complet : IOleDocument
, IOleDocumentView
, IOleCommandTarget
et 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
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
ActivateDocObject
mé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