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) 其持续时间由最终值与初始值之间的差异决定。 内插器应返回 initialValueDependenciesUI_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 7、Windows Vista 和适用于 Windows Vista 的平台更新 [桌面应用 |UWP 应用]
最低受支持的服务器 无受支持的版本
目标平台 Windows
标头 uianimation.h
DLL UIAnimation.dll

另请参阅

IUIAnimationInterpolator

UI_ANIMATION_DEPENDENCIES