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