Compartir a través de


Enumeración POINTERINACTIVE (ocidl.h)

Indique la directiva de activación del objeto y se usa en el método IPointerInactive::GetActivationPolicy .

Syntax

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

Constantes

 
POINTERINACTIVE_ACTIVATEONENTRY
Valor: 1
El objeto debe activarse en el lugar cuando el mouse entra en él durante una operación de movimiento del mouse.
POINTERINACTIVE_DEACTIVATEONLEAVE
Valor: 2
El objeto debe desactivarse cuando el mouse sale del objeto durante una operación de movimiento del mouse.
POINTERINACTIVE_ACTIVATEONDRAG
Valor: 4
El objeto debe activarse en el lugar cuando el mouse se arrastra sobre él durante una operación de arrastrar y colocar.

Comentarios

Para obtener más información sobre el uso de los valores POINTERINACTIVE_ACTIVATEONENTRY y POINTERINACTIVE_DEACTIVATEONLEAVE , vea el método IPointerInactive::GetActivationPolicy .

El valor de POINTERINACTIVE_ACTIVATEONDRAG se puede usar para admitir operaciones de arrastrar y colocar en un objeto inactivo. Un objeto inactivo no tiene ninguna ventana para registrarse como destino de colocación potencial. La mayoría de los contenedores omiten los objetos incrustados y inactivos como destinos de colocación debido a la sobrecarga asociada a activarlos.

Como alternativa a activar un objeto cuando el puntero del mouse está sobre él durante una operación de arrastrar y colocar, el contenedor puede primero QueryInterface para determinar si el objeto inactivo admite IPointerInactive. A continuación, si el objeto no admite IPointerInactive, el contenedor puede suponer que no es un destino de colocación. Si el objeto admite IPointerInactive, el contenedor llama al método IPointerInactive::GetActivationPolicy . Si se establece el valor de POINTERINACTIVE_ACTIVATEONDRAG , el contenedor activa el objeto en contexto para que el objeto pueda registrar su propia interfaz IDropTarget .

El contenedor está procesando su propio método IDropTarget::D ragOver cuando se producen todas estas acciones. Para completar ese método, el contenedor devuelve DROPEFFECT_NONE para el parámetro pdwEffect . A continuación, la operación de arrastrar y colocar continúa llamando al IDropTarget::D ragLeave del contenedor y, a continuación, llamando al IDropTarget::D ragEnter del objeto.

Importante Para los objetos OLE sin ventana, este mecanismo es ligeramente diferente. Vea IOleInPlaceSiteWindowless para obtener más información sobre las operaciones de arrastrar y colocar para objetos sin ventana.
 

Si la colocación se produce en el objeto incrustado, el objeto está activado por la interfaz de usuario y se desactivará cuando el foco cambie de nuevo. Si la colocación no se produce en el objeto , el contenedor debe desactivar el objeto la próxima vez que reciba una llamada a su propia IDropTarget::D ragEnter. Es posible que la colocación se produzca en un tercer objeto activo sin una llamada intermedia a IDropTarget::D ragEnter del contenedor. En este caso, el contenedor debe intentar desactivar el objeto tan pronto como pueda, por ejemplo, cuando la interfaz de usuario activa otro objeto.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Encabezado ocidl.h

Consulte también

IDropTarget

IPointerInactive

IPointerInactive::GetActivationPolicy