Partager via


Méthode IPointerInactive ::OnInactiveSetCursor (ocidl.h)

Définit le pointeur de la souris pour un objet inactif. Cette méthode est appelée par le conteneur à la réception d’une méthode WM_SETCURSOR lorsqu’un objet inactif se trouve sous le pointeur de la souris.

Syntaxe

HRESULT OnInactiveSetCursor(
  [in] LPCRECT pRectBounds,
  [in] LONG    x,
  [in] LONG    y,
  [in] DWORD   dwMouseMsg,
  [in] BOOL    fSetAlways
);

Paramètres

[in] pRectBounds

Rectangle englobant d’objet spécifié dans les unités de coordonnées client de la fenêtre contenante. Ce paramètre indique à l’objet sa position et sa taille exactes à l’écran lorsque le message WM_SETCURSOR a été reçu. Cette valeur est spécifiée en unités du système de coordonnées du client.

[in] x

Coordonnée horizontale de l’emplacement de la souris en unités de la fenêtre contenante du client.

[in] y

Coordonnée verticale de l’emplacement de la souris en unités de la fenêtre contenante du client.

[in] dwMouseMsg

Identificateur du message de la souris pour lequel une WM_SETCURSOR s’est produite.

[in] fSetAlways

Si cette valeur est TRUE, l’objet doit définir le curseur ; si cette valeur est FALSE, l’objet n’est pas obligé de définir le curseur et doit retourner S_FALSE dans ce cas.

Valeur retournée

Cette méthode peut retourner la valeur de retour standard E_FAIL, ainsi que les valeurs suivantes.

Code de retour Description
S_OK
Le pointeur de la souris a été correctement défini.
S_FALSE
L’objet n’a pas défini le curseur ; le conteneur doit définir le curseur ou appeler à nouveau l’objet avec le paramètre fSetAlways défini sur TRUE.

Remarques

Le conteneur appelle cette méthode pour définir le pointeur de la souris sur un objet inactif après avoir vérifié la stratégie d’activation de l’objet en appelant la méthode IPointerInactive ::GetActivationPolicy . Si l’objet n’a pas demandé à être activé sur place par le biais de cet appel, le conteneur distribue les messages WM_SETCURSOR suivants à l’objet inactif en appelant OnInactiveSetCursor tant que le pointeur de la souris reste sur l’objet.

Pour éviter les erreurs d’arrondi et pour faciliter le travail sur l’implémenteur d’objets, cette méthode prend les coordonnées de fenêtre dans les unités de sa fenêtre cliente contenante, c’est-à-dire la fenêtre dans laquelle l’objet est affiché, au lieu des unités HIMETRIC habituelles . Ainsi, les mêmes coordonnées et chemin de code peuvent être utilisés lorsque l’objet est actif et inactif. Les coordonnées de fenêtre spécifient la position de la souris. Le rectangle englobant est également spécifié dans le même système de coordonnées.

OnInactiveSetCursor prend un paramètre supplémentaire, fSetAlways, qui indique si l’objet est obligé de définir le curseur ou non. Les conteneurs doivent d’abord appeler cette méthode avec ce paramètre FALSE. L’objet peut retourner S_FALSE pour indiquer qu’il n’a pas défini le curseur. Dans ce cas, le conteneur doit définir le curseur lui-même ou, s’il ne souhaite pas le faire, appeler à nouveau la méthode OnInactiveSetCursor avec fSetAlways ayant la valeur TRUE.

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 ocidl.h

Voir aussi

IPointerInactive