Compartir a través de


método _IManipulationEvents::ManipulationCompleted (manipulations.h)

Controla el evento cuando finaliza la manipulación o inercia.

Sintaxis

HRESULT ManipulationCompleted(
  [in] FLOAT x,
  [in] FLOAT y,
  [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] cumulativeTranslationX

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

[in] cumulativeTranslationY

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

[in] cumulativeScale

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

[in] cumulativeExpansion

Cambio total de expansión desde el principio de la manipulación en coordenadas definidas por el usuario.

[in] cumulativeRotation

El cambio de rotación total 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 ProcessUp, 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 ManipulationCompleted.




HRESULT STDMETHODCALLTYPE CManipulationEventSink::ManipulationCompleted( 
    /* [in] */ FLOAT x,
    /* [in] */ FLOAT y,
    /* [in] */ FLOAT cumulativeTranslationX,
    /* [in] */ FLOAT cumulativeTranslationY,
    /* [in] */ FLOAT cumulativeScale,
    /* [in] */ FLOAT cumulativeExpansion,
    /* [in] */ FLOAT cumulativeRotation)
{
    m_cCompletedEventCount ++;

    m_fX = x;
    m_fY = y;
    m_fCumulativeTranslationX = cumulativeTranslationX;
    m_fCumulativeTranslationY = cumulativeTranslationY;
    m_fCumulativeScale = cumulativeScale;
    m_fCumulativeExpansion = cumulativeExpansion;
    m_fCumulativeRotation = cumulativeRotation;

    // 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 manipulación al código no administrado

Controlar la inercia en código no administrado

Métodos

_IManipulationEvents