metodo _IManipulationEvents::ManipulationCompleted (manipulations.h)

Gestisce l'evento al termine della manipolazione o dell'inerzia.

Sintassi

HRESULT ManipulationCompleted(
  [in] FLOAT x,
  [in] FLOAT y,
  [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 y di origine nelle coordinate definite dall'utente.

[in] cumulativeTranslationX

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

[in] cumulativeTranslationY

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

[in] cumulativeScale

Modifica della scala totale dall'inizio della manipolazione come percentuale della dimensione originale.

[in] cumulativeExpansion

Modifica dell'espansione totale dall'inizio della manipolazione nelle coordinate definite dall'utente.

[in] cumulativeRotation

La rotazione totale cambia dall'inizio della manipolazione in 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 sia per le interfacce IInertiaProcessor che IManipulationProcessor . Se si usano i valori della struttura TOUCHINPUT nelle chiamate a ProcessUp, le coordinate saranno in centesimi di pixel.

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

Esempio

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

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 (include Manipulations.h)

Vedi anche

Aggiunta del supporto per la manipolazione al codice non gestito

Gestione dell'inerzia nel codice non gestito

Metodi

_IManipulationEvents