Método _IManipulationEvents::ManipulationDelta (manipulations.h)
Manipula eventos que ocorrem quando um objeto manipulado é alterado.
Sintaxe
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
A coordenada x de origem em coordenadas definidas pelo usuário.
[in] y
A coordenada y de origem em coordenadas definidas pelo usuário.
[in] translationDeltaX
A alteração de tradução sobre o eixo x em coordenadas definidas pelo usuário desde o último evento.
[in] translationDeltaY
A alteração de tradução sobre o eixo y em coordenadas definidas pelo usuário desde o último evento.
[in] scaleDelta
A alteração de escala desde o evento anterior como um percentual da escala anterior.
[in] expansionDelta
A alteração de expansão desde o evento anterior em coordenadas definidas pelo usuário.
[in] rotationDelta
A rotação é alterada desde o evento anterior em radianos.
[in] cumulativeTranslationX
A tradução sobre o eixo x desde o início da manipulação em coordenadas definidas pelo usuário.
[in] cumulativeTranslationY
A tradução sobre o eixo y desde o início da manipulação em coordenadas definidas pelo usuário.
[in] cumulativeScale
A escala é alterada desde o início da manipulação como uma porcentagem do tamanho original.
[in] cumulativeExpansion
A alteração de expansão desde o início da manipulação em coordenadas definidas pelo usuário.
[in] cumulativeRotation
A rotação muda desde o início da manipulação em radianos.
Retornar valor
Se o método for bem-sucedido, retornará S_OK. Se falhar, retornará um código de erro HRESULT.
Comentários
Os eventos de manipulação são gerados para as interfaces IInertiaProcessor e IManipulationProcessor . Se você estiver usando os valores da estrutura TOUCHINPUT em chamadas para ProcessMove, as coordenadas estarão em centésimos de pixel.
Exemplos
O código a seguir mostra uma implementação do 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 | Valor |
---|---|
Cliente mínimo com suporte | Windows 7 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 R2 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | manipulations.h (inclua Manipulations.h) |
Confira também
Adicionando suporte de manipulação a código não gerenciado