IUIAnimationInterpolator2::GetDependencies 方法 (uianimation.h)

对于给定的维度, GetDependencies 检索内插器的各个方面,这些方面依赖于传递给 IUIAnimationInterpolator2::SetInitialValueAndVelocity 方法的初始值或速度,或传递给 IUIAnimationInterpolator2::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 动画 错误代码。

注解

调用此方法可确定自定义内插器的哪些方面受特定输入的影响:值、速度和持续时间。 对于其中每个输入,内插器返回以下任一项:

  • UI_ANIMATION_DEPENDENCIES的任何 成员的按 位 OR。
  • 如果 没有任何内容取决于输入,则UI_ANIMATION_DEPENDENCY_NONE。
例如,假设有一个内插器:
  • 接受最终值作为参数。
  • 始终在最终值处逐渐停止。
  • 具有由最终值和初始值之间的差异确定的持续时间。
在这种情况下,内插器应返回 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 动画可以使用任意速度参数调用 SetInitialValueAndVelocity,然后调用 GetFinalValue 来确定最终值。 无论将哪个速度参数传递给 SetInitialValueAndVelocity,内插器的 GetFinalValue 实现都必须返回相同的结果,因为内插器已声明转换的最终值不依赖于初始速度。

注意 如果 durationDependencies 返回的标志不包括 UI_ANIMATION_DEPENDENCY_DURATION,则永远不会在内插器上调用 SetDuration
 

要求

要求
最低受支持的客户端 Windows 8、Windows 7 和适用于 Windows 7 的平台更新 [桌面应用 |UWP 应用]
最低受支持的服务器 无受支持的版本
目标平台 Windows
标头 uianimation.h
DLL UIAnimation.dll

另请参阅

IUIAnimationInterpolator2