共用方式為


_IManipulationEvents::ManipulationCompleted 方法 (manipulations.h)

處理操作或慣性完成時的事件。

語法

HRESULT ManipulationCompleted(
  [in] FLOAT x,
  [in] FLOAT y,
  [in] FLOAT cumulativeTranslationX,
  [in] FLOAT cumulativeTranslationY,
  [in] FLOAT cumulativeScale,
  [in] FLOAT cumulativeExpansion,
  [in] FLOAT cumulativeRotation
);

參數

[in] x

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

[in] y

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

[in] cumulativeTranslationX

自使用者定義座標中操作的開頭起,X 軸的總轉譯。

[in] cumulativeTranslationY

自使用者定義座標中操作的開頭起,y 軸的總轉譯。

[in] cumulativeScale

自操作開始起,以原始大小百分比表示的總小數字數變更。

[in] cumulativeExpansion

自使用者定義座標中操作的開頭起,總展開變更。

[in] cumulativeRotation

自操作開始以弧度為單位后的總旋轉變更。

傳回值

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

備註

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

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

範例

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

規格需求

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

另請參閱

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

在 Unmanaged 程式代碼中處理慣性

方法

_IManipulationEvents