Compartir a través de


Método _IManipulationEvents::ManipulationDelta (manipulations.h)

Controla los eventos que se producen cuando cambia un objeto manipulado.

Sintaxis

HRESULT ManipulationDelta(
  [in] FLOAT x,
  [in] FLOAT y,
  [in] FLOAT translationDeltaX,
  [in] FLOAT translationDeltaY,
  [in] FLOAT scaleDelta,
  [in] FLOAT expansionDelta,
  [in] FLOAT rotationDelta,
  [in] FLOAT cumulativeTranslationX,
  [in] FLOAT cumulativeTranslationY,
  [in] FLOAT cumulativeScale,
  [in] FLOAT cumulativeExpansion,
  [in] FLOAT cumulativeRotation
);

Parámetros

[in] x

Coordenada x de origen en coordenadas definidas por el usuario.

[in] y

Coordenada y de origen en coordenadas definidas por el usuario.

[in] translationDeltaX

El cambio de traducción sobre el eje X en coordenadas definidas por el usuario desde el último evento.

[in] translationDeltaY

El cambio de traducción sobre el eje Y en coordenadas definidas por el usuario desde el último evento.

[in] scaleDelta

Cambio de escala desde el evento anterior como porcentaje de la escala anterior.

[in] expansionDelta

Cambio de expansión desde el evento anterior en coordenadas definidas por el usuario.

[in] rotationDelta

Cambio de rotación desde el evento anterior en radianes.

[in] cumulativeTranslationX

Traducción del eje X desde el principio de la manipulación en coordenadas definidas por el usuario.

[in] cumulativeTranslationY

Traducción del eje Y desde el principio de la manipulación en coordenadas definidas por el usuario.

[in] cumulativeScale

Cambio de escala desde el principio de la manipulación como un porcentaje del tamaño original.

[in] cumulativeExpansion

El cambio de expansión desde el principio de la manipulación en coordenadas definidas por el usuario.

[in] cumulativeRotation

Cambio de rotación desde el principio de la manipulación en radianes.

Valor devuelto

Si el método se realiza correctamente, devuelve S_OK. Si se produce un error, devuelve un código de error HRESULT.

Comentarios

Los eventos de manipulación se generan para las interfaces IInertiaProcessor e IManipulationProcessor . Si usa los valores de la estructura TOUCHINPUT en llamadas a ProcessMove, las coordenadas estarán en centésimas de píxel.

Nota Al usar la inercia, las llamadas a IInertiaProcessor::Complete pueden forzar la extrapolación de la manipulación actual, lo que da lugar a que se pasen deltas grandes al evento ManipulationCompleted. Para solucionar este problema, realice actualizaciones en el evento completado además del evento delta.
 

Ejemplos

El código siguiente muestra una implementación del método ManipulationDelta.

HRESULT STDMETHODCALLTYPE CManipulationEventSink::ManipulationDelta( 
    /* [in] */ FLOAT x,
    /* [in] */ FLOAT y,
    /* [in] */ FLOAT translationDeltaX,
    /* [in] */ FLOAT translationDeltaY,
    /* [in] */ FLOAT scaleDelta,
    /* [in] */ FLOAT expansionDelta,
    /* [in] */ FLOAT rotationDelta,
    /* [in] */ FLOAT cumulativeTranslationX,
    /* [in] */ FLOAT cumulativeTranslationY,
    /* [in] */ FLOAT cumulativeScale,
    /* [in] */ FLOAT cumulativeExpansion,
    /* [in] */ FLOAT cumulativeRotation)
{
    m_cDeltaEventCount ++;

    // Place your code handler here to do any operations based on the manipulation.

    return S_OK;
}    
    

Requisitos

Requisito Value
Cliente mínimo compatible Windows 7 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 R2 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado manipulations.h (include Manipulations.h)

Consulte también

Adición de compatibilidad con la manipulación al código no administrado

Control de la inercia en código no administrado

Métodos

_IManipulationEvents