metodo _IManipulationEvents::ManipulationDelta (manipolazioni.h)

Gestisce gli eventi che si verificano quando un oggetto modificato cambia.

Sintassi

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
);

Parametri

[in] x

Coordinata x di origine nelle coordinate definite dall'utente.

[in] y

Coordinata di origine y nelle coordinate definite dall'utente.

[in] translationDeltaX

La conversione cambia sull'asse x nelle coordinate definite dall'utente dall'ultimo evento.

[in] translationDeltaY

La conversione cambia sull'asse y nelle coordinate definite dall'utente dall'ultimo evento.

[in] scaleDelta

Modifica della scala rispetto all'evento precedente come percentuale della scala precedente.

[in] expansionDelta

La modifica dell'espansione rispetto all'evento precedente nelle coordinate definite dall'utente.

[in] rotationDelta

La rotazione cambia dal momento che l'evento precedente nei radianti.

[in] cumulativeTranslationX

Traduzione sull'asse x dall'inizio della manipolazione nelle coordinate definite dall'utente.

[in] cumulativeTranslationY

Traduzione sull'asse y dall'inizio della manipolazione nelle coordinate definite dall'utente.

[in] cumulativeScale

Modifica della scala dall'inizio della manipolazione come percentuale delle dimensioni originali.

[in] cumulativeExpansion

La modifica dell'espansione dall'inizio della manipolazione nelle coordinate definite dall'utente.

[in] cumulativeRotation

La rotazione cambia dall'inizio della manipolazione nei radianti.

Valore restituito

Se il metodo ha esito positivo, viene restituito S_OK. Se ha esito negativo, restituisce un codice di errore HRESULT.

Commenti

Gli eventi di manipolazione vengono generati per le interfacce IInertiaProcessor e IManipulationProcessor . Se si usano i valori della struttura TOUCHINPUT nelle chiamate a ProcessMove, le coordinate saranno in centesimi di pixel.

Nota Quando si usa l'inertia, le chiamate a IInertiaProcessor::Complete possono forzare l'estrapolamento della manipolazione corrente, causando il passaggio di delta di grandi dimensioni all'evento ManipulationCompleted. Per risolvere questo problema, eseguire gli aggiornamenti sull'evento completato oltre all'evento delta.
 

Esempio

Il codice seguente mostra un'implementazione del metodo 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;
}    
    

Requisiti

Requisito Valore
Client minimo supportato Windows 7 [solo app desktop]
Server minimo supportato Windows Server 2008 R2 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione manipulations.h (includere Manipulations.h)

Vedi anche

Aggiunta del supporto di manipolazione al codice non gestito

Gestione dell'inertia nel codice non gestito

Metodi

_IManipulationEvents