共用方式為


_IManipulationEvents::ManipulationDelta 方法 (manipulations.h)

處理操作物件變更時所發生的事件。

語法

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

參數

[in] x

用戶定義座標中的原點 x 座標。

[in] y

用戶定義座標中的原點 Y 座標。

[in] translationDeltaX

自最後一個事件以來,使用者定義座標中 x 軸的轉譯變更。

[in] translationDeltaY

自上一個事件以來,使用者定義座標中 Y 軸的轉譯變更。

[in] scaleDelta

自上一個事件以來的縮放比例變更為先前小數位數的百分比。

[in] expansionDelta

自使用者定義座標的上一個事件以來的擴充變更。

[in] rotationDelta

自上一個事件開始以弧度為單位的旋轉變更。

[in] cumulativeTranslationX

從使用者定義座標中操作開始的 X 軸轉譯。

[in] cumulativeTranslationY

從使用者定義座標中操作開始的 Y 軸轉譯。

[in] cumulativeScale

自操作開頭起的縮放比例變更為原始大小的百分比。

[in] cumulativeExpansion

從使用者定義座標中操作的開頭開始開始,展開變更。

[in] cumulativeRotation

自弧度操作的開頭起,旋轉會變更。

傳回值

如果方法成功,它會傳回 S_OK。 如果失敗,則會傳回 HRESULT 錯誤碼。

備註

系統會針對 IInertiaProcessorIManipulationProcessor 介面產生操作事件。 如果您在呼叫 ProcessMove 時使用 TOUCHINPUT 結構中的值,座標將會以百分之一像素為單位。

注意 使用慣性時,呼叫 IInertiaProcessor::Complete 可能會強制推斷目前的操作,導致將大型差異傳遞至 ManipulationCompleted 事件。 若要解決此問題,除了差異事件之外,還會對已完成的事件執行更新。
 

範例

下列程式代碼顯示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;
}    
    

規格需求

需求
最低支援的用戶端 Windows 7 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 R2 [僅限傳統型應用程式]
目標平台 Windows
標頭 manipulations.h (包括 Manipulations.h)

另請參閱

將操作支援新增至 Unmanaged 程式代碼

處理 Unmanaged 程式代碼中的慣性

方法

_IManipulationEvents