Partager via


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

Active ou désactive les éléments d’interface utilisateur d’un affichage de document, tels que les menus, les barres d’outils et les accélérateurs.

Syntaxe

HRESULT UIActivate(
  [in] BOOL fUIActivate
);

Paramètres

[in] fUIActivate

Si la valeur est TRUE, l’affichage doit activer son interface utilisateur. Si la valeur est FALSE, l’affichage doit désactiver son interface utilisateur.

Valeur retournée

Cette méthode retourne S_OK en cas de réussite. Les autres valeurs de retour possibles sont les suivantes.

Code de retour Description
E_FAIL
L'opération a échoué.
E_OUTOFMEMORY
Mémoire insuffisante disponible pour le fonctionnement.
E_UNEXPECTED
Une erreur inattendue s’est produite.

Notes

Remarques aux appelants

L’appel de cette méthode avant d’appeler IOleDocumentView::SetInPlaceSite renvoie E_UNEXPECTED, car la vue doit être associée à un site d’affichage avant de pouvoir s’activer.

Lorsque IOleDocumentView::UIActivate est appelé dans le cadre de la séquence d’activation, l’appel doit précéder un appel à IOleDocumentView::SetRect ou IOleDocumentView::SetRectComplex, car sinon, les dimensions d’affichage ne prendront pas en compte l’espace de la barre d’outils.

Pour désactiver une vue, le conteneur doit appeler IOleDocumentView::Show avec FALSE, suivi de IOleDocumentView::UIActivate avec FALSE.

Remarques aux implémenteurs

Les implémentations de cette méthode doivent incarner le pseudocode suivant.
if (fActivate)
    {
    UI activate the view (do menu merging, show frame level tools, process accelerators)
    Take focus, and bring the view window forward.
    }
else
    call IOleInPlaceObject::UIDeactivate on this view

En outre, la vue peut et doit participer à la fusion du menu Aide étendu.

Toutes les vues d’un objet document doivent prendre en charge l’activation sur place. E_NOTIMPL n’est pas une valeur de retour acceptable.

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::SetRect

IOleDocumentView::SetRectComplex

IOleDocumentView::Show