_IManipulationEvents::ManipulationDelta-Methode (manipulations.h)

Behandelt Ereignisse, die auftreten, wenn sich ein bearbeitetes Objekt ändert.

Syntax

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

Parameter

[in] x

Die x-Ursprungskoordinate in benutzerdefinierten Koordinaten.

[in] y

Die Ursprungs-y-Koordinate in benutzerdefinierten Koordinaten.

[in] translationDeltaX

Die Übersetzung ändert sich über die x-Achse in benutzerdefinierten Koordinaten seit dem letzten Ereignis.

[in] translationDeltaY

Die Übersetzung ändert sich über die y-Achse in benutzerdefinierten Koordinaten seit dem letzten Ereignis.

[in] scaleDelta

Die Skalierungsänderung seit dem vorherigen Ereignis als Prozentsatz der vorherigen Skalierung.

[in] expansionDelta

Die Erweiterungsänderung seit dem vorherigen Ereignis in benutzerdefinierten Koordinaten.

[in] rotationDelta

Die Drehung ändert sich seit dem vorherigen Ereignis im Bogenmaß.

[in] cumulativeTranslationX

Die Übersetzung über die x-Achse seit Beginn der Bearbeitung in benutzerdefinierten Koordinaten.

[in] cumulativeTranslationY

Die Übersetzung über die y-Achse seit Beginn der Bearbeitung in benutzerdefinierten Koordinaten.

[in] cumulativeScale

Die Skalierungsänderung seit Beginn der Bearbeitung als Prozentsatz der ursprünglichen Größe.

[in] cumulativeExpansion

Die Erweiterung ändert sich seit Beginn der Bearbeitung in benutzerdefinierten Koordinaten.

[in] cumulativeRotation

Die Drehung ändert sich seit Beginn der Manipulation im Bogenmaß.

Rückgabewert

Wenn die Methode erfolgreich ist, wird S_OK zurückgegeben. Wenn ein Fehler auftritt, wird ein HRESULT-Fehlercode zurückgegeben.

Hinweise

Manipulationsereignisse werden sowohl für die IInertiaProcessor- als auch für die IManipulationProcessor-Schnittstelle generiert. Wenn Sie die Werte aus der TOUCHINPUT-Struktur in Aufrufen von ProcessMove verwenden, sind die Koordinaten in hundertstel Pixeln angegeben.

Hinweis Bei Verwendung von Inertia können Aufrufe von IInertiaProcessor::Complete erzwingen, dass die aktuelle Bearbeitung extrapoliert wird, was dazu führt, dass große Deltas an das ManipulationCompleted-Ereignis übergeben werden. Um dieses Problem zu beheben, führen Sie zusätzlich zum Deltaereignis Updates für das abgeschlossene Ereignis aus.
 

Beispiele

Der folgende Code zeigt eine Implementierung der ManipulationDelta-Methode.

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

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 7 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 R2 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile manipulations.h (include Manipulations.h)

Weitere Informationen

Hinzufügen von Manipulationsunterstützung zu nicht verwaltetem Code

Behandeln von Unträgheit in nicht verwaltetem Code

Methoden

_IManipulationEvents