Partager via


Énumération POINTERINACTIVE (ocidl.h)

Indiquez la stratégie d’activation de l’objet et sont utilisés dans la méthode IPointerInactive ::GetActivationPolicy .

Syntax

typedef enum tagPOINTERINACTIVE {
  POINTERINACTIVE_ACTIVATEONENTRY = 1,
  POINTERINACTIVE_DEACTIVATEONLEAVE = 2,
  POINTERINACTIVE_ACTIVATEONDRAG = 4
} POINTERINACTIVE;

Constantes

 
POINTERINACTIVE_ACTIVATEONENTRY
Valeur : 1
L’objet doit être activé sur place lorsque la souris y entre au cours d’une opération de déplacement de la souris.
POINTERINACTIVE_DEACTIVATEONLEAVE
Valeur : 2
L’objet doit être désactivé lorsque la souris quitte l’objet lors d’une opération de déplacement de la souris.
POINTERINACTIVE_ACTIVATEONDRAG
Valeur : 4
L’objet doit être activé sur place lorsque la souris est déplacée sur lui pendant une opération de glisser-déplacer.

Remarques

Pour plus d’informations sur l’utilisation des valeurs POINTERINACTIVE_ACTIVATEONENTRY et POINTERINACTIVE_DEACTIVATEONLEAVE , consultez la méthode IPointerInactive ::GetActivationPolicy .

La valeur POINTERINACTIVE_ACTIVATEONDRAG peut être utilisée pour prendre en charge les opérations de glisser-déplacer sur un objet inactif. Un objet inactif n’a aucune fenêtre pour s’inscrire en tant que cible de déplacement potentielle. La plupart des conteneurs ignorent les objets incorporés et inactifs en tant que cibles de suppression en raison de la surcharge associée à leur activation.

En guise d’alternative à l’activation d’un objet lorsque le pointeur de la souris est sur celui-ci pendant une opération de glisser-déplacer, le conteneur peut d’abord QueryInterface pour déterminer si l’objet inactif prend en charge IPointerInactive. Ensuite, si l’objet ne prend pas en charge IPointerInactive, le conteneur peut supposer qu’il ne s’agit pas d’une cible de déplacement. Si l’objet prend en charge IPointerInactive, le conteneur appelle la méthode IPointerInactive ::GetActivationPolicy . Si la valeur POINTERINACTIVE_ACTIVATEONDRAG est définie, le conteneur active l’objet sur place afin que l’objet puisse inscrire sa propre interface IDropTarget .

Le conteneur traite sa propre méthode IDropTarget ::D ragOver lorsque toutes ces actions se produisent. Pour terminer cette méthode, le conteneur retourne DROPEFFECT_NONE pour le paramètre pdwEffect . Ensuite, l’opération glisser-déplacer se poursuit en appelant IDropTarget ::D ragLeave du conteneur, puis en appelant IDropTarget ::D ragEnter de l’objet.

Important Pour les objets OLE sans fenêtre, ce mécanisme est légèrement différent. ConsultezI OleInPlaceSiteWindowless pour plus d’informations sur les opérations de glisser-déplacer pour les objets sans fenêtre.
 

Si la suppression se produit sur l’objet incorporé, l’objet est activé par l’interface utilisateur et est désactivé lorsque le focus change à nouveau. Si la suppression ne se produit pas sur l’objet, le conteneur doit le désactiver la prochaine fois qu’il reçoit un appel à son propre IDropTarget ::D ragEnter. Il est possible que la suppression se produise sur un troisième objet actif sans appel intermédiaire à IDropTarget ::D ragEnter du conteneur. Dans ce cas, le conteneur doit essayer de désactiver l’objet dès qu’il le peut, par exemple lorsqu’il active un autre objet par l’interface utilisateur.

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]
En-tête ocidl.h

Voir aussi

IDropTarget

IPointerInactive

IPointerInactive ::GetActivationPolicy