_IManipulationEvents::ManipulationDelta メソッド

操作中のオブジェクトが変更された場合に発生するイベントを処理します。

構文

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

パラメーター

x [in]

ユーザー定義座標の原点の X 座標。

y [in]

ユーザー定義座標の原点の Y 座標。

translationDeltaX [in]

前回のイベントからのユーザー定義座標における X 軸方向の移動量。

translationDeltaY [in]

前回のイベントからのユーザー定義座標における Y 軸方向の移動量。

scaleDelta [in]

前回のイベントからの拡大縮小率 (前の大きさに対する割合)。

expansionDelta [in]

前回のイベントからのユーザー定義座標における拡大量。

rotationDelta [in]

前回のイベントからの回転量 (ラジアン)。

cumulativeTranslationX [in]

操作の開始時点からのユーザー定義座標における X 軸方向の移動量。

cumulativeTranslationY [in]

操作の開始時点からのユーザー定義座標における Y 軸方向の移動量。

cumulativeScale [in]

操作の開始時点からの拡大縮小率 (元の大きさに対する割合)。

cumulativeExpansion [in]

操作の開始時点からのユーザー定義座標における拡大量。

cumulativeRotation [in]

操作の開始時点からの回転量 (ラジアン)。

戻り値

メソッドが成功した場合は、S_OK が返されます。失敗した場合は、HRESULT エラー コードが返されます。

解説

操作イベントは、IInertiaProcessor インターフェイスと IManipulationProcessor インターフェイスの両方に対して生成されます。ProcessMove の呼び出しで TOUCHINPUT 構造体の値を使用している場合は、座標の単位は 1/100 ピクセルです。

   慣性を使用している場合、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

ヘッダー

Manipulations.h (includeManipulations.h)

参照

アンマネージ コードへの操作サポートの追加
アンマネージ コードでの慣性の処理
_IManipulationEvents
メソッド

 

 

コミュニティの追加

追加
表示:
© 2014 Microsoft