Partager via


Méthode IOleDocumentView::CloseView (docobj.h)

Indique à un affichage de document de se fermer et de libérer son pointeur IOleInPlaceSite .

Syntaxe

HRESULT CloseView(
  [in] DWORD dwReserved
);

Paramètres

[in] dwReserved

Ce paramètre est réservé et ne peut pas être NULL.

Valeur retournée

Cette méthode retourne S_OK en cas de réussite.

Notes

Lorsqu’une fenêtre distincte n’est plus nécessaire, le conteneur appelle IOleDocumentView::CloseView, où l’affichage libère son pointeur de site vers la fenêtre distincte et détruit la fenêtre. Contrairement à la séquence normale de désactivation sur place pour les documents actifs, une vue de document continue de contenir le pointeur IOleInPlaceSite . Ce pointeur est libéré uniquement lorsque le conteneur de la vue appelle SetInPlaceSite, avec pIPSite défini sur NULL, ou appelle IOleDocumentView::CloseView.

Lorsqu’un utilisateur ferme la fenêtre distincte d’un affichage, la vue ne doit pas s’arrêter. Au lieu de cela, il doit appeler IOleInPlaceSite::OnInPlaceActivate. Le site d’affichage décide ensuite s’il faut appeler IOleDocumentView::UIActivate avec FALSE immédiatement ou ultérieurement. De cette façon, un affichage document affiché dans une fenêtre distincte reste disponible pour l’activation dans la fenêtre du conteneur.

Le conteneur doit appeler cette méthode avant de supprimer la vue, c’est-à-dire libérer sa dernière référence à la vue. En général, l’implémentation de cette méthode appelle IOleDocumentView::Show avec FALSE pour masquer l’affichage s’il n’est pas déjà masqué, puis appelle SetInPlaceSite avec NULL pour se désactiver et libérer le pointeur de site d’affichage.

Étant donné que IOleDocumentView::CloseView est appelé lorsqu’un conteneur va arrêter complètement une vue, cette méthode doit être implémentée et n’a aucune raison d’échouer.

Spécifications

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête docobj.h

Voir aussi

IOleDocumentView

IOleDocumentView::SetInPlaceSite

IOleDocumentView::Show