共用方式為


IUIAnimationInterpolator::GetDependencies 方法 (uianimation.h)

取得插補器的各個層面,取決於傳遞至 SetInitialValueAndVelocity 的初始值或速度,或取決於傳遞至 SetDuration 的持續時間。

語法

HRESULT GetDependencies(
  [out] UI_ANIMATION_DEPENDENCIES *initialValueDependencies,
  [out] UI_ANIMATION_DEPENDENCIES *initialVelocityDependencies,
  [out] UI_ANIMATION_DEPENDENCIES *durationDependencies
);

參數

[out] initialValueDependencies

插補器的層面,取決於傳遞至 SetInitialValueAndVelocity 的初始值。

[out] initialVelocityDependencies

插補器的各個層面,取決於傳遞至 SetInitialValueAndVelocity 的初始速度。

[out] durationDependencies

插補器的各個層面,取決於傳遞至 SetDuration 的持續時間。

傳回值

如果方法成功,它會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。 如需錯誤碼的清單,請參閱 Windows 動畫錯誤碼

備註

呼叫這個方法可識別自定義插補器哪些層面會受到特定輸入的影響:值、速度及持續時間。 針對每個輸入,插補器會傳回下列其中一項:

例如,假設插補器 (1) 接受最終值做為參數, (2) 一律會到達該最終值的漸進式停止, (3) 其持續時間取決於最終值與初始值之間的差異。 插補器應該會針對 initialValueDependencies 傳回UI_ANIMATION_DEPENDENCY_INTERMEDIATE_VALUES|UI_ANIMATION_DURATION。 它不應該傳回 UI_ANIMATION_DEPENDENCY_FINAL_VALUE ,因為這是在建立插補器且不受初始值影響時所設定。 同樣地,它不應該傳回 UI_ANIMATION_DEPENDENCY_FINAL_VELOCITY ,因為曲線的斜率會在到達最終值時定義為一律為零。

插補器必須傳回正確的旗標集。 如果輸出沒有旗標,Windows 動畫會假設對應的參數不會影響插補器結果的該層面。 例如,如果自定義插補器不包含 initialVelocityDependencies的UI_ANIMATION_DEPENDENCY_FINAL_VALUE,Windows Animation 可能會使用任意速度參數呼叫 SetInitialValueAndVelocity,然後呼叫 GetFinalValue 來判斷最終值。 無論傳遞至 SetInitialValueAndVelocity 的速度參數為何,插補器的實作 GetFinalValue 必須傳回相同的結果,因為插補器已宣告轉換的最終值不會相依於初始速度。

注意 如果 durationDependencies 傳回的旗標不包含 UI_ANIMATION_DEPENDENCY_DURATION,則插補器上永遠不會呼叫 SetDuration
 

規格需求

需求
最低支援的用戶端 適用於 Windows Vista 的 Windows 7、Windows Vista 和平臺更新 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 都不支援
目標平台 Windows
標頭 uianimation.h
Dll UIAnimation.dll

另請參閱

IUIAnimationInterpolator

UI_ANIMATION_DEPENDENCIES