Share via


IOleInPlaceFrame ::SetStatusText, méthode (oleidl.h)

Définit et affiche status texte sur l’objet sur place dans la fenêtre de cadre du conteneur status ligne.

Syntaxe

HRESULT SetStatusText(
  [in] LPCOLESTR pszStatusText
);

Paramètres

[in] pszStatusText

Message à afficher.

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
S_TRUNCATED
Du texte a été affiché, mais le message était trop long et tronqué.
E_FAIL
L'opération a échoué.
E_INVALIDARG
Le pointeur spécifié n’est pas valide.
E_UNEXPECTED
Une erreur inattendue s’est produite.

Remarques

Notes aux appelants

Vous devez appeler IOleInPlaceFrame ::SetStatusText lorsque vous devez demander au conteneur d’afficher le texte de l’objet dans la ligne status de son cadre, le cas échéant. Étant donné que la fenêtre frame du conteneur possède la ligne status, l’appel de IOleInPlaceFrame ::SetStatusText est la seule façon pour un objet d’afficher status informations dans la fenêtre frame du conteneur. Si le conteneur refuse la demande de l’objet, l’application d’objet peut toutefois négocier l’affichage de l’espace de bordure afin d’afficher sa propre fenêtre status.

Lors du basculement entre les menus appartenant au conteneur et l’objet actif sur place, le texte de la barre de status n’est pas reflété correctement si l’objet n’appelle pas la méthode IOleInPlaceFrame ::SetStatusText du conteneur. Par exemple, si, au cours d’une session sur place, l’utilisateur devait sélectionner le menu Fichier, la barre de status refléterait l’action qui se produirait si l’utilisateur sélectionnait ce menu. Si l’utilisateur sélectionne ensuite le menu Modifier (qui appartient à l’objet sur place), le texte de la barre d’status ne change pas, sauf si le IOleInPlaceFrame ::SetStatusText est appelé. Cela est dû au fait qu’il n’existe aucun moyen pour le conteneur de reconnaître que l’un des menus de l’objet a été activé, car tous les messages que le conteneur intercepterait sont maintenant envoyés à l’objet.

Notes aux implémenteurs

Pour éviter des problèmes potentiels, tous les objets activés sur place doivent traiter le message WM_MENUSELECT et appeler IOleInPlaceFrame ::SetStatusText, même si l’objet ne fournit généralement pas d’informations status (auquel cas l’objet peut simplement transmettre une chaîne NULL pour le texte status demandé).
Note Lors de l’exécution de IOleInPlaceFrame ::SetStatusText, n’appelez pas les fonctions PeekMessage ou GetMessage , ni à une boîte de dialogue. Cela peut entraîner un blocage du système. Il existe d’autres restrictions quant aux méthodes et fonctions d’interface OLE qui peuvent être appelées à partir de IOleInPlaceUIWindow ::GetBorder.
 

Configuration requise

Condition requise Valeur
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 oleidl.h

Voir aussi

GetMessage

IOleInPlaceFrame

PeekMessage