动画控件
# PinToo 控件使用(动画组件)
此组中包含了用于显示控件动态效果的特效控件。
# 1. TfxColorAnimation
附加到对象的TColor类型属性以随时间改变其值。
# 1.1. 属性(Properties)
- TfxColorAnimation组件主要属性
属性 | 功能说明 |
---|---|
AnimationType | 设置此动画的插值表达式如何应用于动画属性 |
AutoReverse | 动画开始到结束,结束再到开始 |
Delay | 在启动动画之前要等待的秒数 |
Duration | 设置动画从开始到结束的总时长(单位:秒) |
Enabled | 启动动画 |
Interpolation | 设置动画类型,可以实现很多特殊效果,如心跳,线性。 |
Inverse | 向后而不是向前动画 |
Loop | 无限重复播放动画 |
PropertyName | 指定将对其应用动画的属性 |
StartFromCurrent | 从其当前值开始动画此属性 |
StartValue | 从此值开始此属性的动画 |
StopValue | 达到该值时,终止此属性的动画 |
Trigger | 用于启动动画的父对象的属性状态 |
TriggerInverse | 用于启动动画逆过程的父对象的属性状态 |
# 1.1.1. AnimationType属性
确定如何应用动画的插值。使用TAnimationType可以指定属性的值如何从其起始值更改为结束值(StopValue)。想象一下二次函数的图:y = x * 2。图的斜率在x = 0处为零。这意味着y在x = 0附近变化非常缓慢。随着x的增加,斜率变得越来越陡峭,这意味着y的变化越来越快。x表示动画中的时间,而y是被动画设置的属性的值。
当TAnimationType为In且TInterpolationType为Quadratic时,此动画所应用的属性的值(PropertyName)在起点附近缓慢变化(等效于x = 0的四角函数)。在TAnimationType为Out的情况下,端点附近的更改缓慢。对于InOut的TAnimationType,两端的更改都很缓慢。曲线围绕中心点镜像,并在中间相交。
TAnimationType可以采用以下值之一:
- In: 应用于此动画的TInterpolationType的曲线从动画属性的起始值开始
- Out: 应用于此动画的TInterpolationType的曲线从动画属性的结束值开始,然后向后退回到起始值。
- InOut: 应用于此动画的TInterpolationType的曲线从动画属性的起始值和结束值开始,并在中心点相交。
# 1.1.2. AutoReverse属性
将常规动画完成后,将AutoReverse设置为True,以从StopValue到StartValue向后动画化受控属性。前进和后退动画各自花费持续时间(秒)。如果Loop为True,则前后动画交替进行。向后动画完成后,将调用OnFinish事件。
# 1.1.3. Delay属性
开始动画之前要等待的秒数。
延迟是一个实数,表示开始动画之前要等待的秒数。该时间段是从执行Start方法开始的,或者,如果Enabled为True,则是从运行时的开始开始计算的。如果Loop为True,则延迟仅应用于动画的开始。
# 1.1.4. Duration属性
从起始值到终止值的动画时间(以秒为单位)。
# 1.1.5. Enabled属性
将动画实例创建并附加到父实例后立即启动动画的设置为True。在设计时,在TAnimation的对象检查器中或动态创建TAnimation时启用。如果将Enabled设置为True,则不必执行TAnimation Start方法。你也可以将Enabled设为True来启动动画,但是你必须将Enabled设为False,然后再次设为True来运行动画。另外,如果在动画完成之前将Enabled设置为False,那么如果StartFromCurrent为True,则将启用True,否则将从StartValue重新运行动画。
# 1.1.6. Interpolation属性
动画的插值属性的类型。
确定如何随时间将属性的当前值(或StartValue)更改为目标值(StopValue)的速率。在绘制属性值的图形上,将动画应用于(使用TAnimation PropertyName属性)一个端点,该端点由t = 0处的起始值表示。另一个端点是t = 持续时间秒数时的停止值。许多不同的路径可以连接这两点。唯一的要求就是时间在不断前进! TInterpolationType提供了多种路径可供选择。
使用TInterpolationType为Linear时,属性的值随时间线性变化,起点和终点之间的路径是一条直线。TInterpolationType的此值和其他值如下所述。
TInterpolationType属性值:
- Linear(线性的):线性插值。此动画应用于的属性值会随着时间不断变化。
- Quadratic(二次方的):二次函数应用于起点和终点之间的路径。路径的斜率在起点处为零,并随时间不断增加。将标量应用于该函数以使端点落在路径上。
- Cubic(立方体) :插值的形式为y = x * 3。路径的斜率在起点处为零,并且比路径上的二次函数快得多。
- Quartic(四次) :插值的形式为y = x * 4。路径的斜率在起点处为零,并且比路径上的二次函数快得多。
- Quintic(五重奏) :插值的形式为y = x * 5。路径的斜率在起点处为零,并且比路径上的二次函数快得多。
- Sinusoidal(正弦曲线): 插值的形式为y = sin(x)。路径的斜率在起点处为零,而正弦曲线的第一个拐点(x = pi)在终点处。
- Exponential(指数的):插值的形式为y = e * x。路径的斜率在起点处为1,并且比路径上的二次函数快得多。
- Circular(圆):此插值的起点和终点之间的路径是四分之一圆。路径的斜率在起点为零,在终点为顶点。
- Elastic(有弹性):该路径遵循渐进正弦几何插值。路径的正弦振幅可以在开始时较小,在结束时较大,反之亦然,具体取决于动画类型(输入/输出)。
- Back(背部):该路径不遵循几何插值。值(y坐标)增加,向着起始值移动,但是时间(x值)必须始终沿正方向移动。
- Bounce(弹跳):路径描绘了一个弹跳球。该路径由曲率远离连接起点和终点的直线的圆形曲线组成。这些曲线由尖点连接。
# 1.1.7. Inverse属性
将Inverse设置为True可以使受控属性从StopValue到StartValue向后进行动画处理。向后动画需要持续时间(秒)。向后动画完成后,将调用OnFinish。
# 1.1.8. Loop属性
无限重复播放动画。将Loop设置为True可以从StartValue到StopValue无限期重复动画。该OnFinish事件处理程序不会被调用环是真。要停止循环播放的动画,请调用Stop。
# 1.1.9. PropertyName属性
指定将对其应用动画的属性。
# 1.1.10. StartFromCurrent属性
如果StartFromCurrent为True,则将StartValue属性设置为父级的受控属性的当前值,然后从那里开始动画。
# 1.1.11. StartValue属性
从此值开始此属性的动画。
对于TFloatAnimation,StartValue是一个实数,包含用于开始对受控属性进行动画处理的值。如果StartFromCurrent为True,则在动画开始时将StartValue重新分配给属性的当前值。
# 1.1.12. StopValue属性
达到该值时,终止此属性的动画。
受控属性值的动画在StopValue的值处完成。如果在“ 持续时间”秒数结束之前调用了Stop,则该属性的值将跳至StopValue值。
# 1.1.13. Trigger属性
用于启动动画的父对象的属性状态。
触发器是TTrigger类型的字符串属性。见T触发器有关的可能值的信息触发。
触发器用于确定何时开始动画。当此属性具有指示的状态时,动画将开始处理。
# 1.1.14. TriggerInverse属性
用于启动动画逆过程的父对象的属性状态。
TriggerInverse是TTrigger类型的字符串属性。见T触发器有关的可能值的信息触发。
TriggerInverse用于确定何时开始动画的逆过程。例如,如果将Trigger设置为'IsMouseOver=true',并且动画将父按钮的红色更改为蓝色,则Trigger或其动画中没有任何内容可以将按钮重新变回红色。如果TriggerInverse字符串设置为'IsMouseOver=false',则当鼠标离开按钮时,动画的逆序开始。
# 1.2. 事件(Events)
- TfxColorAnimation组件主要事件
事件 | 何时触发 |
---|---|
OnFinish | 动画停止后调用的事件处理程序 |
OnProcess | 在处理动画期间调用的事件处理程序 |
# 1.2.1. OnFinish事件
动画停止后调用的事件处理程序。
动画在开始后会持续一段持续时间(秒),而在调用“ 开始”的过程完成很长时间之后。动画完成后,将所需的所有处理放入OnFinish事件处理程序中。如果Loop属性为True,则不会调用OnFinish,除非调用Stop方法。
# 1.2.2. OnProcess事件
在处理动画期间调用的事件处理程序。
动画控制的值更改时,将反复调用OnProcess。如果动画改变了父对象的外观,则父对象将自动重新绘制。如果在OnProcess内部进行处理导致在父级边界框外进行绘制,请调用表单的Invalidate方法。
# 1.3. 方法(Methods)
- TfxColorAnimation组件主要方法
方法 | 功能说明 |
---|---|
Start | 开始运行动画 |
Stop | 停止动画的运行 |
StopAtCurrent | 动画停在当前值 |
# 1.3.1. Start
开始运行动画。
- 动画对象也是动画的父对象,必须是可见的可视对象。否则,调用启动无效。
- 开始将初始化动画处理。对于动画运行时间秒钟从动画的变化控制的属性在startValue到StopValue。您可以使用Stop方法终止动画。这对于将Loop属性设置为True并可以永久运行的动画非常方便。
- 如果在动画完成之前停止动画,则如果StartFromCurrent属性为True,则动画将以当前值恢复,否则动画将从StartValue重新开始。
- 您也可以使用Enabled属性来启动和停止动画。
# 1.3.2. Stop
停止动画的运行。
- 停止将终止动画的处理。对于动画运行时间秒钟从动画的变化控制的属性在startValue到StopValue。您可以使用Stop方法终止动画。这对于将Loop属性设置为True并可以永久运行的动画非常方便。
- 执行Stop时,受控属性值立即移至StopValue。 StopAtCurrent停止在当前值。
- 您也可以使用Enabled属性来启动和停止动画。
# 1.3.3. StopAtCurrent
动画停在当前值。
StopAtCurrent会立即以当前值停止动画。这不同于Stop,后者立即移动到StopValue然后停止。
# 2. TfxGradientAnimation
附加到对象的颜色渐变属性以随时间更改其值。
# 2.1. 属性(Properties)
- TfxGradientAnimation组件主要属性
属性 | 功能说明 |
---|---|
AnimationType | 设置此动画的插值表达式如何应用于动画属性 |
AutoReverse | 动画开始到结束,结束再到开始 |
Delay | 在启动动画之前要等待的秒数 |
Duration | 设置动画从开始到结束的总时长(单位:秒) |
Enabled | 启动动画 |
Interpolation | 设置动画类型,可以实现很多特殊效果,如心跳,线性。 |
Inverse | 向后而不是向前动画 |
Loop | 无限重复播放动画 |
PropertyName | 指定将对其应用动画的属性 |
StartFromCurrent | 从其当前值开始动画此属性 |
StartValue | 从此值开始此属性的动画 |
StopValue | 达到该值时,终止此属性的动画 |
Trigger | 用于启动动画的父对象的属性状态 |
TriggerInverse | 用于启动动画逆过程的父对象的属性状态 |
# 2.1.1. AnimationType属性
确定如何应用动画的插值。使用TAnimationType可以指定属性的值如何从其起始值更改为结束值(StopValue)。想象一下二次函数的图:y = x * 2。图的斜率在x = 0处为零。这意味着y在x = 0附近变化非常缓慢。随着x的增加,斜率变得越来越陡峭,这意味着y的变化越来越快。x表示动画中的时间,而y是被动画设置的属性的值。
当TAnimationType为In且TInterpolationType为Quadratic时,此动画所应用的属性的值(PropertyName)在起点附近缓慢变化(等效于x = 0的四角函数)。在TAnimationType为Out的情况下,端点附近的更改缓慢。对于InOut的TAnimationType,两端的更改都很缓慢。曲线围绕中心点镜像,并在中间相交。
TAnimationType可以采用以下值之一:
- In: 应用于此动画的TInterpolationType的曲线从动画属性的起始值开始
- Out: 应用于此动画的TInterpolationType的曲线从动画属性的结束值开始,然后向后退回到起始值。
- InOut: 应用于此动画的TInterpolationType的曲线从动画属性的起始值和结束值开始,并在中心点相交。
# 2.1.2. AutoReverse属性
将常规动画完成后,将AutoReverse设置为True,以从StopValue到StartValue向后动画化受控属性。前进和后退动画各自花费持续时间(秒)。如果Loop为True,则前后动画交替进行。向后动画完成后,将调用OnFinish事件。
# 2.1.3. Delay属性
开始动画之前要等待的秒数。
延迟是一个实数,表示开始动画之前要等待的秒数。该时间段是从执行Start方法开始的,或者,如果Enabled为True,则是从运行时的开始开始计算的。如果Loop为True,则延迟仅应用于动画的开始。
# 2.1.4. Duration属性
从起始值到终止值的动画时间(以秒为单位)。
# 2.1.5. Enabled属性
将动画实例创建并附加到父实例后立即启动动画的设置为True。在设计时,在TAnimation的对象检查器中或动态创建TAnimation时启用。如果将Enabled设置为True,则不必执行TAnimation Start方法。你也可以将Enabled设为True来启动动画,但是你必须将Enabled设为False,然后再次设为True来运行动画。另外,如果在动画完成之前将Enabled设置为False,那么如果StartFromCurrent为True,则将启用True,否则将从StartValue重新运行动画。
# 2.1.6. Interpolation属性
动画的插值属性的类型。
确定如何随时间将属性的当前值(或StartValue)更改为目标值(StopValue)的速率。在绘制属性值的图形上,将动画应用于(使用TAnimation PropertyName属性)一个端点,该端点由t = 0处的起始值表示。另一个端点是t = 持续时间秒数时的停止值。许多不同的路径可以连接这两点。唯一的要求就是时间在不断前进! TInterpolationType提供了多种路径可供选择。
使用TInterpolationType为Linear时,属性的值随时间线性变化,起点和终点之间的路径是一条直线。TInterpolationType的此值和其他值如下所述。
TInterpolationType属性值:
- Linear(线性的):线性插值。此动画应用于的属性值会随着时间不断变化。
- Quadratic(二次方的):二次函数应用于起点和终点之间的路径。路径的斜率在起点处为零,并随时间不断增加。将标量应用于该函数以使端点落在路径上。
- Cubic(立方体) :插值的形式为y = x * 3。路径的斜率在起点处为零,并且比路径上的二次函数快得多。
- Quartic(四次) :插值的形式为y = x * 4。路径的斜率在起点处为零,并且比路径上的二次函数快得多。
- Quintic(五重奏) :插值的形式为y = x * 5。路径的斜率在起点处为零,并且比路径上的二次函数快得多。
- Sinusoidal(正弦曲线): 插值的形式为y = sin(x)。路径的斜率在起点处为零,而正弦曲线的第一个拐点(x = pi)在终点处。
- Exponential(指数的):插值的形式为y = e * x。路径的斜率在起点处为1,并且比路径上的二次函数快得多。
- Circular(圆):此插值的起点和终点之间的路径是四分之一圆。路径的斜率在起点为零,在终点为顶点。
- Elastic(有弹性):该路径遵循渐进正弦几何插值。路径的正弦振幅可以在开始时较小,在结束时较大,反之亦然,具体取决于动画类型(输入/输出)。
- Back(背部):该路径不遵循几何插值。值(y坐标)增加,向着起始值移动,但是时间(x值)必须始终沿正方向移动。
- Bounce(弹跳):路径描绘了一个弹跳球。该路径由曲率远离连接起点和终点的直线的圆形曲线组成。这些曲线由尖点连接。
# 2.1.7. Inverse属性
将Inverse设置为True可以使受控属性从StopValue到StartValue向后进行动画处理。向后动画需要持续时间(秒)。向后动画完成后,将调用OnFinish。
# 2.1.8. Loop属性
无限重复播放动画。将Loop设置为True可以从StartValue到StopValue无限期重复动画。该OnFinish事件处理程序不会被调用环是真。要停止循环播放的动画,请调用Stop。
# 2.1.9. PropertyName属性
指定将对其应用动画的属性。
# 2.1.10. StartFromCurrent属性
如果StartFromCurrent为True,则将StartValue属性设置为父级的受控属性的当前值,然后从那里开始动画。
# 2.1.11. StartValue属性
从此值开始此属性的动画。
对于TFloatAnimation,StartValue是一个实数,包含用于开始对受控属性进行动画处理的值。如果StartFromCurrent为True,则在动画开始时将StartValue重新分配给属性的当前值。
# 2.1.12. StopValue属性
达到该值时,终止此属性的动画。
受控属性值的动画在StopValue的值处完成。如果在“ 持续时间”秒数结束之前调用了Stop,则该属性的值将跳至StopValue值。
# 2.1.13. Trigger属性
用于启动动画的父对象的属性状态。
触发器是TTrigger类型的字符串属性。见T触发器有关的可能值的信息触发。
触发器用于确定何时开始动画。当此属性具有指示的状态时,动画将开始处理。
# 2.1.14. TriggerInverse属性
用于启动动画逆过程的父对象的属性状态。
TriggerInverse是TTrigger类型的字符串属性。见T触发器有关的可能值的信息触发。
TriggerInverse用于确定何时开始动画的逆过程。例如,如果将Trigger设置为'IsMouseOver=true',并且动画将父按钮的红色更改为蓝色,则Trigger或其动画中没有任何内容可以将按钮重新变回红色。如果TriggerInverse字符串设置为'IsMouseOver=false',则当鼠标离开按钮时,动画的逆序开始。
# 2.2. 事件(Events)
- TfxGradientAnimation组件主要事件
事件 | 何时触发 |
---|---|
OnFinish | 动画停止后调用的事件处理程序 |
OnProcess | 在处理动画期间调用的事件处理程序 |
# 2.2.1. OnFinish事件
动画停止后调用的事件处理程序。
动画在开始后会持续一段持续时间(秒),而在调用“ 开始”的过程完成很长时间之后。动画完成后,将所需的所有处理放入OnFinish事件处理程序中。如果Loop属性为True,则不会调用OnFinish,除非调用Stop方法。
# 2.2.2. OnProcess事件
在处理动画期间调用的事件处理程序。
动画控制的值更改时,将反复调用OnProcess。如果动画改变了父对象的外观,则父对象将自动重新绘制。如果在OnProcess内部进行处理导致在父级边界框外进行绘制,请调用表单的Invalidate方法。
# 2.3. 方法(Methods)
- TfxGradientAnimation组件主要方法
方法 | 功能说明 |
---|---|
Start | 开始运行动画 |
Stop | 停止动画的运行 |
StopAtCurrent | 动画停在当前值 |
# 2.3.1. Start
开始运行动画。
- 动画对象也是动画的父对象,必须是可见的可视对象。否则,调用启动无效。
- 开始将初始化动画处理。对于动画运行时间秒钟从动画的变化控制的属性在startValue到StopValue。您可以使用Stop方法终止动画。这对于将Loop属性设置为True并可以永久运行的动画非常方便。
- 如果在动画完成之前停止动画,则如果StartFromCurrent属性为True,则动画将以当前值恢复,否则动画将从StartValue重新开始。
- 您也可以使用Enabled属性来启动和停止动画。
# 2.3.2. Stop
停止动画的运行。
- 停止将终止动画的处理。对于动画运行时间秒钟从动画的变化控制的属性在startValue到StopValue。您可以使用Stop方法终止动画。这对于将Loop属性设置为True并可以永久运行的动画非常方便。
- 执行Stop时,受控属性值立即移至StopValue。 StopAtCurrent停止在当前值。
- 您也可以使用Enabled属性来启动和停止动画。
# 2.3.3. StopAtCurrent
动画停在当前值。
StopAtCurrent会立即以当前值停止动画。这不同于Stop,后者立即移动到StopValue然后停止。
# 3. TfxFloatAnimation
TfxFloatAnimation用于改动TFmxObject类型对象的数值类型的属性值。
必需将TfxFloatAnimation拖放到fxRectangle1上,才可以实现动画控制效果。

# 3.1. 属性(Properties)
- TfxFloatAnimation组件主要属性
属性 | 功能说明 |
---|---|
AnimationType | 设置此动画的插值表达式如何应用于动画属性 |
AutoReverse | 动画开始到结束,结束再到开始 |
Delay | 在启动动画之前要等待的秒数 |
Duration | 设置动画从开始到结束的总时长(单位:秒) |
Enabled | 启动动画 |
Interpolation | 设置动画类型,可以实现很多特殊效果,如心跳,线性。 |
Inverse | 向后而不是向前动画 |
Loop | 无限重复播放动画 |
PropertyName | 指定将对其应用动画的属性 |
StartFromCurrent | 从其当前值开始动画此属性 |
StartValue | 从此值开始此属性的动画 |
StopValue | 达到该值时,终止此属性的动画 |
Trigger | 用于启动动画的父对象的属性状态 |
TriggerInverse | 用于启动动画逆过程的父对象的属性状态 |
# 3.1.1. AnimationType属性
确定如何应用动画的插值。使用TAnimationType可以指定属性的值如何从其起始值更改为结束值(StopValue)。想象一下二次函数的图:y = x * 2。图的斜率在x = 0处为零。这意味着y在x = 0附近变化非常缓慢。随着x的增加,斜率变得越来越陡峭,这意味着y的变化越来越快。x表示动画中的时间,而y是被动画设置的属性的值。
当TAnimationType为In且TInterpolationType为Quadratic时,此动画所应用的属性的值(PropertyName)在起点附近缓慢变化(等效于x = 0的四角函数)。在TAnimationType为Out的情况下,端点附近的更改缓慢。对于InOut的TAnimationType,两端的更改都很缓慢。曲线围绕中心点镜像,并在中间相交。
TAnimationType可以采用以下值之一:
- In: 应用于此动画的TInterpolationType的曲线从动画属性的起始值开始
- Out: 应用于此动画的TInterpolationType的曲线从动画属性的结束值开始,然后向后退回到起始值。
- InOut: 应用于此动画的TInterpolationType的曲线从动画属性的起始值和结束值开始,并在中心点相交。
# 3.1.2. AutoReverse属性
将常规动画完成后,将AutoReverse设置为True,以从StopValue到StartValue向后动画化受控属性。前进和后退动画各自花费持续时间(秒)。如果Loop为True,则前后动画交替进行。向后动画完成后,将调用OnFinish事件。
# 3.1.3. Delay属性
开始动画之前要等待的秒数。
延迟是一个实数,表示开始动画之前要等待的秒数。该时间段是从执行Start方法开始的,或者,如果Enabled为True,则是从运行时的开始开始计算的。如果Loop为True,则延迟仅应用于动画的开始。
# 3.1.4. Duration属性
从起始值到终止值的动画时间(以秒为单位)。
# 3.1.5. Enabled属性
将动画实例创建并附加到父实例后立即启动动画的设置为True。在设计时,在TAnimation的对象检查器中或动态创建TAnimation时启用。如果将Enabled设置为True,则不必执行TAnimation Start方法。你也可以将Enabled设为True来启动动画,但是你必须将Enabled设为False,然后再次设为True来运行动画。另外,如果在动画完成之前将Enabled设置为False,那么如果StartFromCurrent为True,则将启用True,否则将从StartValue重新运行动画。
# 3.1.6. Interpolation属性
动画的插值属性的类型。
确定如何随时间将属性的当前值(或StartValue)更改为目标值(StopValue)的速率。在绘制属性值的图形上,将动画应用于(使用TAnimation PropertyName属性)一个端点,该端点由t = 0处的起始值表示。另一个端点是t = 持续时间秒数时的停止值。许多不同的路径可以连接这两点。唯一的要求就是时间在不断前进! TInterpolationType提供了多种路径可供选择。
使用TInterpolationType为Linear时,属性的值随时间线性变化,起点和终点之间的路径是一条直线。TInterpolationType的此值和其他值如下所述。
TInterpolationType属性值:
- Linear(线性的):线性插值。此动画应用于的属性值会随着时间不断变化。
- Quadratic(二次方的):二次函数应用于起点和终点之间的路径。路径的斜率在起点处为零,并随时间不断增加。将标量应用于该函数以使端点落在路径上。
- Cubic(立方体) :插值的形式为y = x * 3。路径的斜率在起点处为零,并且比路径上的二次函数快得多。
- Quartic(四次) :插值的形式为y = x * 4。路径的斜率在起点处为零,并且比路径上的二次函数快得多。
- Quintic(五重奏) :插值的形式为y = x * 5。路径的斜率在起点处为零,并且比路径上的二次函数快得多。
- Sinusoidal(正弦曲线): 插值的形式为y = sin(x)。路径的斜率在起点处为零,而正弦曲线的第一个拐点(x = pi)在终点处。
- Exponential(指数的):插值的形式为y = e * x。路径的斜率在起点处为1,并且比路径上的二次函数快得多。
- Circular(圆):此插值的起点和终点之间的路径是四分之一圆。路径的斜率在起点为零,在终点为顶点。
- Elastic(有弹性):该路径遵循渐进正弦几何插值。路径的正弦振幅可以在开始时较小,在结束时较大,反之亦然,具体取决于动画类型(输入/输出)。
- Back(背部):该路径不遵循几何插值。值(y坐标)增加,向着起始值移动,但是时间(x值)必须始终沿正方向移动。
- Bounce(弹跳):路径描绘了一个弹跳球。该路径由曲率远离连接起点和终点的直线的圆形曲线组成。这些曲线由尖点连接。
# 3.1.7. Inverse属性
将Inverse设置为True可以使受控属性从StopValue到StartValue向后进行动画处理。向后动画需要持续时间(秒)。向后动画完成后,将调用OnFinish。
# 3.1.8. Loop属性
无限重复播放动画。将Loop设置为True可以从StartValue到StopValue无限期重复动画。该OnFinish事件处理程序不会被调用环是真。要停止循环播放的动画,请调用Stop。
# 3.1.9. PropertyName属性
指定将对其应用动画的属性。
# 3.1.10. StartFromCurrent属性
如果StartFromCurrent为True,则将StartValue属性设置为父级的受控属性的当前值,然后从那里开始动画。
# 3.1.11. StartValue属性
从此值开始此属性的动画。
对于TFloatAnimation,StartValue是一个实数,包含用于开始对受控属性进行动画处理的值。如果StartFromCurrent为True,则在动画开始时将StartValue重新分配给属性的当前值。
# 3.1.12. StopValue属性
达到该值时,终止此属性的动画。
受控属性值的动画在StopValue的值处完成。如果在“ 持续时间”秒数结束之前调用了Stop,则该属性的值将跳至StopValue值。
# 3.1.13. Trigger属性
用于启动动画的父对象的属性状态。
触发器是TTrigger类型的字符串属性。见T触发器有关的可能值的信息触发。
触发器用于确定何时开始动画。当此属性具有指示的状态时,动画将开始处理。
# 3.1.14. TriggerInverse属性
用于启动动画逆过程的父对象的属性状态。
TriggerInverse是TTrigger类型的字符串属性。见T触发器有关的可能值的信息触发。
TriggerInverse用于确定何时开始动画的逆过程。例如,如果将Trigger设置为'IsMouseOver=true',并且动画将父按钮的红色更改为蓝色,则Trigger或其动画中没有任何内容可以将按钮重新变回红色。如果TriggerInverse字符串设置为'IsMouseOver=false',则当鼠标离开按钮时,动画的逆序开始。
# 3.2. 事件(Events)
- TfxFloatAnimation组件主要事件
事件 | 何时触发 |
---|---|
OnFinish | 动画停止后调用的事件处理程序 |
OnProcess | 在处理动画期间调用的事件处理程序 |
# 3.2.1. OnFinish事件
动画停止后调用的事件处理程序。
动画在开始后会持续一段持续时间(秒),而在调用“ 开始”的过程完成很长时间之后。动画完成后,将所需的所有处理放入OnFinish事件处理程序中。如果Loop属性为True,则不会调用OnFinish,除非调用Stop方法。
# 3.2.2. OnProcess事件
在处理动画期间调用的事件处理程序。
动画控制的值更改时,将反复调用OnProcess。如果动画改变了父对象的外观,则父对象将自动重新绘制。如果在OnProcess内部进行处理导致在父级边界框外进行绘制,请调用表单的Invalidate方法。
# 3.3. 方法(Methods)
- TfxFloatAnimation组件主要方法
方法 | 功能说明 |
---|---|
Start | 开始运行动画 |
Stop | 停止动画的运行 |
StopAtCurrent | 动画停在当前值 |
# 3.3.1. Start
开始运行动画。
- 动画对象也是动画的父对象,必须是可见的可视对象。否则,调用启动无效。
- 开始将初始化动画处理。对于动画运行时间秒钟从动画的变化控制的属性在startValue到StopValue。您可以使用Stop方法终止动画。这对于将Loop属性设置为True并可以永久运行的动画非常方便。
- 如果在动画完成之前停止动画,则如果StartFromCurrent属性为True,则动画将以当前值恢复,否则动画将从StartValue重新开始。
- 您也可以使用Enabled属性来启动和停止动画。
# 3.3.2. Stop
停止动画的运行。
- 停止将终止动画的处理。对于动画运行时间秒钟从动画的变化控制的属性在startValue到StopValue。您可以使用Stop方法终止动画。这对于将Loop属性设置为True并可以永久运行的动画非常方便。
- 执行Stop时,受控属性值立即移至StopValue。 StopAtCurrent停止在当前值。
- 您也可以使用Enabled属性来启动和停止动画。
# 3.3.3. StopAtCurrent
动画停在当前值。
StopAtCurrent会立即以当前值停止动画。这不同于Stop,后者立即移动到StopValue然后停止。
# 4. TfxRectAnimation
附加到对象的TBounds属性以随时间更改其边界。
# 4.1. 属性(Properties)
- TfxRectAnimation组件主要属性
属性 | 功能说明 |
---|---|
AnimationType | 设置此动画的插值表达式如何应用于动画属性 |
AutoReverse | 动画开始到结束,结束再到开始 |
Delay | 在启动动画之前要等待的秒数 |
Duration | 设置动画从开始到结束的总时长(单位:秒) |
Enabled | 启动动画 |
Interpolation | 设置动画类型,可以实现很多特殊效果,如心跳,线性。 |
Inverse | 向后而不是向前动画 |
Loop | 无限重复播放动画 |
PropertyName | 指定将对其应用动画的属性 |
StartFromCurrent | 从其当前值开始动画此属性 |
StartValue | 从此值开始此属性的动画 |
StopValue | 达到该值时,终止此属性的动画 |
Trigger | 用于启动动画的父对象的属性状态 |
TriggerInverse | 用于启动动画逆过程的父对象的属性状态 |
# 4.1.1. AnimationType属性
确定如何应用动画的插值。使用TAnimationType可以指定属性的值如何从其起始值更改为结束值(StopValue)。想象一下二次函数的图:y = x * 2。图的斜率在x = 0处为零。这意味着y在x = 0附近变化非常缓慢。随着x的增加,斜率变得越来越陡峭,这意味着y的变化越来越快。x表示动画中的时间,而y是被动画设置的属性的值。
当TAnimationType为In且TInterpolationType为Quadratic时,此动画所应用的属性的值(PropertyName)在起点附近缓慢变化(等效于x = 0的四角函数)。在TAnimationType为Out的情况下,端点附近的更改缓慢。对于InOut的TAnimationType,两端的更改都很缓慢。曲线围绕中心点镜像,并在中间相交。
TAnimationType可以采用以下值之一:
- In: 应用于此动画的TInterpolationType的曲线从动画属性的起始值开始
- Out: 应用于此动画的TInterpolationType的曲线从动画属性的结束值开始,然后向后退回到起始值。
- InOut: 应用于此动画的TInterpolationType的曲线从动画属性的起始值和结束值开始,并在中心点相交。
# 4.1.2. AutoReverse属性
将常规动画完成后,将AutoReverse设置为True,以从StopValue到StartValue向后动画化受控属性。前进和后退动画各自花费持续时间(秒)。如果Loop为True,则前后动画交替进行。向后动画完成后,将调用OnFinish事件。
# 4.1.3. Delay属性
开始动画之前要等待的秒数。
延迟是一个实数,表示开始动画之前要等待的秒数。该时间段是从执行Start方法开始的,或者,如果Enabled为True,则是从运行时的开始开始计算的。如果Loop为True,则延迟仅应用于动画的开始。
# 4.1.4. Duration属性
从起始值到终止值的动画时间(以秒为单位)。
# 4.1.5. Enabled属性
将动画实例创建并附加到父实例后立即启动动画的设置为True。在设计时,在TAnimation的对象检查器中或动态创建TAnimation时启用。如果将Enabled设置为True,则不必执行TAnimation Start方法。你也可以将Enabled设为True来启动动画,但是你必须将Enabled设为False,然后再次设为True来运行动画。另外,如果在动画完成之前将Enabled设置为False,那么如果StartFromCurrent为True,则将启用True,否则将从StartValue重新运行动画。
# 4.1.6. Interpolation属性
动画的插值属性的类型。
确定如何随时间将属性的当前值(或StartValue)更改为目标值(StopValue)的速率。在绘制属性值的图形上,将动画应用于(使用TAnimation PropertyName属性)一个端点,该端点由t = 0处的起始值表示。另一个端点是t = 持续时间秒数时的停止值。许多不同的路径可以连接这两点。唯一的要求就是时间在不断前进! TInterpolationType提供了多种路径可供选择。
使用TInterpolationType为Linear时,属性的值随时间线性变化,起点和终点之间的路径是一条直线。TInterpolationType的此值和其他值如下所述。
TInterpolationType属性值:
- Linear(线性的):线性插值。此动画应用于的属性值会随着时间不断变化。
- Quadratic(二次方的):二次函数应用于起点和终点之间的路径。路径的斜率在起点处为零,并随时间不断增加。将标量应用于该函数以使端点落在路径上。
- Cubic(立方体) :插值的形式为y = x * 3。路径的斜率在起点处为零,并且比路径上的二次函数快得多。
- Quartic(四次) :插值的形式为y = x * 4。路径的斜率在起点处为零,并且比路径上的二次函数快得多。
- Quintic(五重奏) :插值的形式为y = x * 5。路径的斜率在起点处为零,并且比路径上的二次函数快得多。
- Sinusoidal(正弦曲线): 插值的形式为y = sin(x)。路径的斜率在起点处为零,而正弦曲线的第一个拐点(x = pi)在终点处。
- Exponential(指数的):插值的形式为y = e * x。路径的斜率在起点处为1,并且比路径上的二次函数快得多。
- Circular(圆):此插值的起点和终点之间的路径是四分之一圆。路径的斜率在起点为零,在终点为顶点。
- Elastic(有弹性):该路径遵循渐进正弦几何插值。路径的正弦振幅可以在开始时较小,在结束时较大,反之亦然,具体取决于动画类型(输入/输出)。
- Back(背部):该路径不遵循几何插值。值(y坐标)增加,向着起始值移动,但是时间(x值)必须始终沿正方向移动。
- Bounce(弹跳):路径描绘了一个弹跳球。该路径由曲率远离连接起点和终点的直线的圆形曲线组成。这些曲线由尖点连接。
# 4.1.7. Inverse属性
将Inverse设置为True可以使受控属性从StopValue到StartValue向后进行动画处理。向后动画需要持续时间(秒)。向后动画完成后,将调用OnFinish。
# 4.1.8. Loop属性
无限重复播放动画。将Loop设置为True可以从StartValue到StopValue无限期重复动画。该OnFinish事件处理程序不会被调用环是真。要停止循环播放的动画,请调用Stop。
# 4.1.9. PropertyName属性
指定将对其应用动画的属性。
# 4.1.10. StartFromCurrent属性
如果StartFromCurrent为True,则将StartValue属性设置为父级的受控属性的当前值,然后从那里开始动画。
# 4.1.11. StartValue属性
从此值开始此属性的动画。
对于TFloatAnimation,StartValue是一个实数,包含用于开始对受控属性进行动画处理的值。如果StartFromCurrent为True,则在动画开始时将StartValue重新分配给属性的当前值。
# 4.1.12. StopValue属性
达到该值时,终止此属性的动画。
受控属性值的动画在StopValue的值处完成。如果在“ 持续时间”秒数结束之前调用了Stop,则该属性的值将跳至StopValue值。
# 4.1.13. Trigger属性
用于启动动画的父对象的属性状态。
触发器是TTrigger类型的字符串属性。见T触发器有关的可能值的信息触发。
触发器用于确定何时开始动画。当此属性具有指示的状态时,动画将开始处理。
# 4.1.14. TriggerInverse属性
用于启动动画逆过程的父对象的属性状态。
TriggerInverse是TTrigger类型的字符串属性。见T触发器有关的可能值的信息触发。
TriggerInverse用于确定何时开始动画的逆过程。例如,如果将Trigger设置为'IsMouseOver=true',并且动画将父按钮的红色更改为蓝色,则Trigger或其动画中没有任何内容可以将按钮重新变回红色。如果TriggerInverse字符串设置为'IsMouseOver=false',则当鼠标离开按钮时,动画的逆序开始。
# 4.2. 事件(Events)
- TfxRectAnimation组件主要事件
事件 | 何时触发 |
---|---|
OnFinish | 动画停止后调用的事件处理程序 |
OnProcess | 在处理动画期间调用的事件处理程序 |
# 4.2.1. OnFinish事件
动画停止后调用的事件处理程序。
动画在开始后会持续一段持续时间(秒),而在调用“ 开始”的过程完成很长时间之后。动画完成后,将所需的所有处理放入OnFinish事件处理程序中。如果Loop属性为True,则不会调用OnFinish,除非调用Stop方法。
# 4.2.2. OnProcess事件
在处理动画期间调用的事件处理程序。
动画控制的值更改时,将反复调用OnProcess。如果动画改变了父对象的外观,则父对象将自动重新绘制。如果在OnProcess内部进行处理导致在父级边界框外进行绘制,请调用表单的Invalidate方法。
# 4.3. 方法(Methods)
- TfxRectAnimation组件主要方法
方法 | 功能说明 |
---|---|
Start | 开始运行动画 |
Stop | 停止动画的运行 |
StopAtCurrent | 动画停在当前值 |
# 4.3.1. Start
开始运行动画。
- 动画对象也是动画的父对象,必须是可见的可视对象。否则,调用启动无效。
- 开始将初始化动画处理。对于动画运行时间秒钟从动画的变化控制的属性在startValue到StopValue。您可以使用Stop方法终止动画。这对于将Loop属性设置为True并可以永久运行的动画非常方便。
- 如果在动画完成之前停止动画,则如果StartFromCurrent属性为True,则动画将以当前值恢复,否则动画将从StartValue重新开始。
- 您也可以使用Enabled属性来启动和停止动画。
# 4.3.2. Stop
停止动画的运行。
- 停止将终止动画的处理。对于动画运行时间秒钟从动画的变化控制的属性在startValue到StopValue。您可以使用Stop方法终止动画。这对于将Loop属性设置为True并可以永久运行的动画非常方便。
- 执行Stop时,受控属性值立即移至StopValue。 StopAtCurrent停止在当前值。
- 您也可以使用Enabled属性来启动和停止动画。
# 4.3.3. StopAtCurrent
动画停在当前值。
StopAtCurrent会立即以当前值停止动画。这不同于Stop,后者立即移动到StopValue然后停止。
# 5. TfxBitmapAnimation
附加到对象的TBitmap类型的属性以随时间改变其显示图像。
# 5.1. 属性(Properties)
- TfxBitmapAnimation组件主要属性
属性 | 功能说明 |
---|---|
AnimationType | 设置此动画的插值表达式如何应用于动画属性 |
AutoReverse | 动画开始到结束,结束再到开始 |
Delay | 在启动动画之前要等待的秒数 |
Duration | 设置动画从开始到结束的总时长(单位:秒) |
Enabled | 启动动画 |
Interpolation | 设置动画类型,可以实现很多特殊效果,如心跳,线性。 |
Inverse | 向后而不是向前动画 |
Loop | 无限重复播放动画 |
PropertyName | 指定将对其应用动画的属性 |
StartValue | 从此值开始此属性的动画 |
StopValue | 达到该值时,终止此属性的动画 |
Trigger | 用于启动动画的父对象的属性状态 |
TriggerInverse | 用于启动动画逆过程的父对象的属性状态 |
# 5.1.1. AnimationType属性
确定如何应用动画的插值。使用TAnimationType可以指定属性的值如何从其起始值更改为结束值(StopValue)。想象一下二次函数的图:y = x * 2。图的斜率在x = 0处为零。这意味着y在x = 0附近变化非常缓慢。随着x的增加,斜率变得越来越陡峭,这意味着y的变化越来越快。x表示动画中的时间,而y是被动画设置的属性的值。
当TAnimationType为In且TInterpolationType为Quadratic时,此动画所应用的属性的值(PropertyName)在起点附近缓慢变化(等效于x = 0的四角函数)。在TAnimationType为Out的情况下,端点附近的更改缓慢。对于InOut的TAnimationType,两端的更改都很缓慢。曲线围绕中心点镜像,并在中间相交。
TAnimationType可以采用以下值之一:
- In: 应用于此动画的TInterpolationType的曲线从动画属性的起始值开始
- Out: 应用于此动画的TInterpolationType的曲线从动画属性的结束值开始,然后向后退回到起始值。
- InOut: 应用于此动画的TInterpolationType的曲线从动画属性的起始值和结束值开始,并在中心点相交。
# 5.1.2. AutoReverse属性
将常规动画完成后,将AutoReverse设置为True,以从StopValue到StartValue向后动画化受控属性。前进和后退动画各自花费持续时间(秒)。如果Loop为True,则前后动画交替进行。向后动画完成后,将调用OnFinish事件。
# 5.1.3. Delay属性
开始动画之前要等待的秒数。
延迟是一个实数,表示开始动画之前要等待的秒数。该时间段是从执行Start方法开始的,或者,如果Enabled为True,则是从运行时的开始开始计算的。如果Loop为True,则延迟仅应用于动画的开始。
# 5.1.4. Duration属性
从起始值到终止值的动画时间(以秒为单位)。
# 5.1.5. Enabled属性
将动画实例创建并附加到父实例后立即启动动画的设置为True。在设计时,在TAnimation的对象检查器中或动态创建TAnimation时启用。如果将Enabled设置为True,则不必执行TAnimation Start方法。你也可以将Enabled设为True来启动动画,但是你必须将Enabled设为False,然后再次设为True来运行动画。另外,如果在动画完成之前将Enabled设置为False,那么如果StartFromCurrent为True,则将启用True,否则将从StartValue重新运行动画。
# 5.1.6. Interpolation属性
动画的插值属性的类型。
确定如何随时间将属性的当前值(或StartValue)更改为目标值(StopValue)的速率。在绘制属性值的图形上,将动画应用于(使用TAnimation PropertyName属性)一个端点,该端点由t = 0处的起始值表示。另一个端点是t = 持续时间秒数时的停止值。许多不同的路径可以连接这两点。唯一的要求就是时间在不断前进! TInterpolationType提供了多种路径可供选择。
使用TInterpolationType为Linear时,属性的值随时间线性变化,起点和终点之间的路径是一条直线。TInterpolationType的此值和其他值如下所述。
TInterpolationType属性值:
- Linear(线性的):线性插值。此动画应用于的属性值会随着时间不断变化。
- Quadratic(二次方的):二次函数应用于起点和终点之间的路径。路径的斜率在起点处为零,并随时间不断增加。将标量应用于该函数以使端点落在路径上。
- Cubic(立方体) :插值的形式为y = x * 3。路径的斜率在起点处为零,并且比路径上的二次函数快得多。
- Quartic(四次) :插值的形式为y = x * 4。路径的斜率在起点处为零,并且比路径上的二次函数快得多。
- Quintic(五重奏) :插值的形式为y = x * 5。路径的斜率在起点处为零,并且比路径上的二次函数快得多。
- Sinusoidal(正弦曲线): 插值的形式为y = sin(x)。路径的斜率在起点处为零,而正弦曲线的第一个拐点(x = pi)在终点处。
- Exponential(指数的):插值的形式为y = e * x。路径的斜率在起点处为1,并且比路径上的二次函数快得多。
- Circular(圆):此插值的起点和终点之间的路径是四分之一圆。路径的斜率在起点为零,在终点为顶点。
- Elastic(有弹性):该路径遵循渐进正弦几何插值。路径的正弦振幅可以在开始时较小,在结束时较大,反之亦然,具体取决于动画类型(输入/输出)。
- Back(背部):该路径不遵循几何插值。值(y坐标)增加,向着起始值移动,但是时间(x值)必须始终沿正方向移动。
- Bounce(弹跳):路径描绘了一个弹跳球。该路径由曲率远离连接起点和终点的直线的圆形曲线组成。这些曲线由尖点连接。
# 5.1.7. Inverse属性
将Inverse设置为True可以使受控属性从StopValue到StartValue向后进行动画处理。向后动画需要持续时间(秒)。向后动画完成后,将调用OnFinish。
# 5.1.8. Loop属性
无限重复播放动画。将Loop设置为True可以从StartValue到StopValue无限期重复动画。该OnFinish事件处理程序不会被调用环是真。要停止循环播放的动画,请调用Stop。
# 5.1.9. PropertyName属性
指定将对其应用动画的属性。
# 5.1.10. StartValue属性
从此值开始此属性的动画。
对于TFloatAnimation,StartValue是一个实数,包含用于开始对受控属性进行动画处理的值。如果StartFromCurrent为True,则在动画开始时将StartValue重新分配给属性的当前值。
# 5.1.11. StopValue属性
达到该值时,终止此属性的动画。
受控属性值的动画在StopValue的值处完成。如果在“ 持续时间”秒数结束之前调用了Stop,则该属性的值将跳至StopValue值。
# 5.1.12. Trigger属性
用于启动动画的父对象的属性状态。
触发器是TTrigger类型的字符串属性。见T触发器有关的可能值的信息触发。
触发器用于确定何时开始动画。当此属性具有指示的状态时,动画将开始处理。
# 5.1.13. TriggerInverse属性
用于启动动画逆过程的父对象的属性状态。
TriggerInverse是TTrigger类型的字符串属性。见T触发器有关的可能值的信息触发。
TriggerInverse用于确定何时开始动画的逆过程。例如,如果将Trigger设置为'IsMouseOver=true',并且动画将父按钮的红色更改为蓝色,则Trigger或其动画中没有任何内容可以将按钮重新变回红色。如果TriggerInverse字符串设置为'IsMouseOver=false',则当鼠标离开按钮时,动画的逆序开始。
# 5.2. 事件(Events)
- TfxBitmapAnimation组件主要事件
事件 | 何时触发 |
---|---|
OnFinish | 动画停止后调用的事件处理程序 |
OnProcess | 在处理动画期间调用的事件处理程序 |
# 5.2.1. OnFinish事件
动画停止后调用的事件处理程序。
动画在开始后会持续一段持续时间(秒),而在调用“ 开始”的过程完成很长时间之后。动画完成后,将所需的所有处理放入OnFinish事件处理程序中。如果Loop属性为True,则不会调用OnFinish,除非调用Stop方法。
# 5.2.2. OnProcess事件
在处理动画期间调用的事件处理程序。
动画控制的值更改时,将反复调用OnProcess。如果动画改变了父对象的外观,则父对象将自动重新绘制。如果在OnProcess内部进行处理导致在父级边界框外进行绘制,请调用表单的Invalidate方法。
# 5.3. 方法(Methods)
- TfxBitmapAnimation组件主要方法
方法 | 功能说明 |
---|---|
Start | 开始运行动画 |
Stop | 停止动画的运行 |
StopAtCurrent | 动画停在当前值 |
# 5.3.1. Start
开始运行动画。
- 动画对象也是动画的父对象,必须是可见的可视对象。否则,调用启动无效。
- 开始将初始化动画处理。对于动画运行时间秒钟从动画的变化控制的属性在startValue到StopValue。您可以使用Stop方法终止动画。这对于将Loop属性设置为True并可以永久运行的动画非常方便。
- 如果在动画完成之前停止动画,则如果StartFromCurrent属性为True,则动画将以当前值恢复,否则动画将从StartValue重新开始。
- 您也可以使用Enabled属性来启动和停止动画。
# 5.3.2. Stop
停止动画的运行。
- 停止将终止动画的处理。对于动画运行时间秒钟从动画的变化控制的属性在startValue到StopValue。您可以使用Stop方法终止动画。这对于将Loop属性设置为True并可以永久运行的动画非常方便。
- 执行Stop时,受控属性值立即移至StopValue。 StopAtCurrent停止在当前值。
- 您也可以使用Enabled属性来启动和停止动画。
# 5.3.3. StopAtCurrent
动画停在当前值。
StopAtCurrent会立即以当前值停止动画。这不同于Stop,后者立即移动到StopValue然后停止。
# 6. TfxBitmapListAnimation
# 7. TfxColorKeyAnimation
附加到对象的属性以随时间更改该属性的颜色。
# 7.1. 属性(Properties)
- TfxColorKeyAnimation组件主要属性
属性 | 功能说明 |
---|---|
AnimationType | 设置此动画的插值表达式如何应用于动画属性 |
AutoReverse | 动画开始到结束,结束再到开始 |
Delay | 在启动动画之前要等待的秒数 |
Duration | 设置动画从开始到结束的总时长(单位:秒) |
Enabled | 启动动画 |
Interpolation | 设置动画类型,可以实现很多特殊效果,如心跳,线性。 |
Inverse | 向后而不是向前动画 |
Loop | 无限重复播放动画 |
PropertyName | 指定将对其应用动画的属性 |
StartFromCurrent | 从其当前值开始动画此属性 |
Trigger | 用于启动动画的父对象的属性状态 |
TriggerInverse | 用于启动动画逆过程的父对象的属性状态 |
# 7.1.1. AnimationType属性
确定如何应用动画的插值。使用TAnimationType可以指定属性的值如何从其起始值更改为结束值(StopValue)。想象一下二次函数的图:y = x * 2。图的斜率在x = 0处为零。这意味着y在x = 0附近变化非常缓慢。随着x的增加,斜率变得越来越陡峭,这意味着y的变化越来越快。x表示动画中的时间,而y是被动画设置的属性的值。
当TAnimationType为In且TInterpolationType为Quadratic时,此动画所应用的属性的值(PropertyName)在起点附近缓慢变化(等效于x = 0的四角函数)。在TAnimationType为Out的情况下,端点附近的更改缓慢。对于InOut的TAnimationType,两端的更改都很缓慢。曲线围绕中心点镜像,并在中间相交。
TAnimationType可以采用以下值之一:
- In: 应用于此动画的TInterpolationType的曲线从动画属性的起始值开始
- Out: 应用于此动画的TInterpolationType的曲线从动画属性的结束值开始,然后向后退回到起始值。
- InOut: 应用于此动画的TInterpolationType的曲线从动画属性的起始值和结束值开始,并在中心点相交。
# 7.1.2. AutoReverse属性
将常规动画完成后,将AutoReverse设置为True,以从StopValue到StartValue向后动画化受控属性。前进和后退动画各自花费持续时间(秒)。如果Loop为True,则前后动画交替进行。向后动画完成后,将调用OnFinish事件。
# 7.1.3. Delay属性
开始动画之前要等待的秒数。
延迟是一个实数,表示开始动画之前要等待的秒数。该时间段是从执行Start方法开始的,或者,如果Enabled为True,则是从运行时的开始开始计算的。如果Loop为True,则延迟仅应用于动画的开始。
# 7.1.4. Duration属性
从起始值到终止值的动画时间(以秒为单位)。
# 7.1.5. Enabled属性
将动画实例创建并附加到父实例后立即启动动画的设置为True。在设计时,在TAnimation的对象检查器中或动态创建TAnimation时启用。如果将Enabled设置为True,则不必执行TAnimation Start方法。你也可以将Enabled设为True来启动动画,但是你必须将Enabled设为False,然后再次设为True来运行动画。另外,如果在动画完成之前将Enabled设置为False,那么如果StartFromCurrent为True,则将启用True,否则将从StartValue重新运行动画。
# 7.1.6. Interpolation属性
动画的插值属性的类型。
确定如何随时间将属性的当前值(或StartValue)更改为目标值(StopValue)的速率。在绘制属性值的图形上,将动画应用于(使用TAnimation PropertyName属性)一个端点,该端点由t = 0处的起始值表示。另一个端点是t = 持续时间秒数时的停止值。许多不同的路径可以连接这两点。唯一的要求就是时间在不断前进! TInterpolationType提供了多种路径可供选择。
使用TInterpolationType为Linear时,属性的值随时间线性变化,起点和终点之间的路径是一条直线。TInterpolationType的此值和其他值如下所述。
TInterpolationType属性值:
- Linear(线性的):线性插值。此动画应用于的属性值会随着时间不断变化。
- Quadratic(二次方的):二次函数应用于起点和终点之间的路径。路径的斜率在起点处为零,并随时间不断增加。将标量应用于该函数以使端点落在路径上。
- Cubic(立方体) :插值的形式为y = x * 3。路径的斜率在起点处为零,并且比路径上的二次函数快得多。
- Quartic(四次) :插值的形式为y = x * 4。路径的斜率在起点处为零,并且比路径上的二次函数快得多。
- Quintic(五重奏) :插值的形式为y = x * 5。路径的斜率在起点处为零,并且比路径上的二次函数快得多。
- Sinusoidal(正弦曲线): 插值的形式为y = sin(x)。路径的斜率在起点处为零,而正弦曲线的第一个拐点(x = pi)在终点处。
- Exponential(指数的):插值的形式为y = e * x。路径的斜率在起点处为1,并且比路径上的二次函数快得多。
- Circular(圆):此插值的起点和终点之间的路径是四分之一圆。路径的斜率在起点为零,在终点为顶点。
- Elastic(有弹性):该路径遵循渐进正弦几何插值。路径的正弦振幅可以在开始时较小,在结束时较大,反之亦然,具体取决于动画类型(输入/输出)。
- Back(背部):该路径不遵循几何插值。值(y坐标)增加,向着起始值移动,但是时间(x值)必须始终沿正方向移动。
- Bounce(弹跳):路径描绘了一个弹跳球。该路径由曲率远离连接起点和终点的直线的圆形曲线组成。这些曲线由尖点连接。
# 7.1.7. Inverse属性
将Inverse设置为True可以使受控属性从StopValue到StartValue向后进行动画处理。向后动画需要持续时间(秒)。向后动画完成后,将调用OnFinish。
# 7.1.8. Loop属性
无限重复播放动画。将Loop设置为True可以从StartValue到StopValue无限期重复动画。该OnFinish事件处理程序不会被调用环是真。要停止循环播放的动画,请调用Stop。
# 7.1.9. PropertyName属性
指定将对其应用动画的属性。
# 7.1.10. StartFromCurrent属性
如果StartFromCurrent为True,则将StartValue属性设置为父级的受控属性的当前值,然后从那里开始动画。
# 7.1.11. Trigger属性
用于启动动画的父对象的属性状态。
触发器是TTrigger类型的字符串属性。见T触发器有关的可能值的信息触发。
触发器用于确定何时开始动画。当此属性具有指示的状态时,动画将开始处理。
# 7.1.12. TriggerInverse属性
用于启动动画逆过程的父对象的属性状态。
TriggerInverse是TTrigger类型的字符串属性。见T触发器有关的可能值的信息触发。
TriggerInverse用于确定何时开始动画的逆过程。例如,如果将Trigger设置为'IsMouseOver=true',并且动画将父按钮的红色更改为蓝色,则Trigger或其动画中没有任何内容可以将按钮重新变回红色。如果TriggerInverse字符串设置为'IsMouseOver=false',则当鼠标离开按钮时,动画的逆序开始。
# 7.2. 事件(Events)
- TfxColorKeyAnimation组件主要事件
事件 | 何时触发 |
---|---|
OnFinish | 动画停止后调用的事件处理程序 |
OnProcess | 在处理动画期间调用的事件处理程序 |
# 7.2.1. OnFinish事件
动画停止后调用的事件处理程序。
动画在开始后会持续一段持续时间(秒),而在调用“ 开始”的过程完成很长时间之后。动画完成后,将所需的所有处理放入OnFinish事件处理程序中。如果Loop属性为True,则不会调用OnFinish,除非调用Stop方法。
# 7.2.2. OnProcess事件
在处理动画期间调用的事件处理程序。
动画控制的值更改时,将反复调用OnProcess。如果动画改变了父对象的外观,则父对象将自动重新绘制。如果在OnProcess内部进行处理导致在父级边界框外进行绘制,请调用表单的Invalidate方法。
# 7.3. 方法(Methods)
- TfxColorKeyAnimation组件主要方法
方法 | 功能说明 |
---|---|
Start | 开始运行动画 |
Stop | 停止动画的运行 |
StopAtCurrent | 动画停在当前值 |
# 7.3.1. Start
开始运行动画。
- 动画对象也是动画的父对象,必须是可见的可视对象。否则,调用启动无效。
- 开始将初始化动画处理。对于动画运行时间秒钟从动画的变化控制的属性在startValue到StopValue。您可以使用Stop方法终止动画。这对于将Loop属性设置为True并可以永久运行的动画非常方便。
- 如果在动画完成之前停止动画,则如果StartFromCurrent属性为True,则动画将以当前值恢复,否则动画将从StartValue重新开始。
- 您也可以使用Enabled属性来启动和停止动画。
# 7.3.2. Stop
停止动画的运行。
- 停止将终止动画的处理。对于动画运行时间秒钟从动画的变化控制的属性在startValue到StopValue。您可以使用Stop方法终止动画。这对于将Loop属性设置为True并可以永久运行的动画非常方便。
- 执行Stop时,受控属性值立即移至StopValue。 StopAtCurrent停止在当前值。
- 您也可以使用Enabled属性来启动和停止动画。
# 7.3.3. StopAtCurrent
动画停在当前值。
StopAtCurrent会立即以当前值停止动画。这不同于Stop,后者立即移动到StopValue然后停止。
# 8. TfxFloatKeyAnimation
附加到对象的属性以随时间更改该属性的尺寸。
# 8.1. 属性(Properties)
- TfxFloatAnimation组件主要属性
属性 | 功能说明 |
---|---|
AnimationType | 设置此动画的插值表达式如何应用于动画属性 |
AutoReverse | 动画开始到结束,结束再到开始 |
Delay | 在启动动画之前要等待的秒数 |
Duration | 设置动画从开始到结束的总时长(单位:秒) |
Enabled | 启动动画 |
Interpolation | 设置动画类型,可以实现很多特殊效果,如心跳,线性。 |
Inverse | 向后而不是向前动画 |
Loop | 无限重复播放动画 |
PropertyName | 指定将对其应用动画的属性 |
StartFromCurrent | 从其当前值开始动画此属性 |
Trigger | 用于启动动画的父对象的属性状态 |
TriggerInverse | 用于启动动画逆过程的父对象的属性状态 |
# 8.1.1. AnimationType属性
确定如何应用动画的插值。使用TAnimationType可以指定属性的值如何从其起始值更改为结束值(StopValue)。想象一下二次函数的图:y = x * 2。图的斜率在x = 0处为零。这意味着y在x = 0附近变化非常缓慢。随着x的增加,斜率变得越来越陡峭,这意味着y的变化越来越快。x表示动画中的时间,而y是被动画设置的属性的值。
当TAnimationType为In且TInterpolationType为Quadratic时,此动画所应用的属性的值(PropertyName)在起点附近缓慢变化(等效于x = 0的四角函数)。在TAnimationType为Out的情况下,端点附近的更改缓慢。对于InOut的TAnimationType,两端的更改都很缓慢。曲线围绕中心点镜像,并在中间相交。
TAnimationType可以采用以下值之一:
- In: 应用于此动画的TInterpolationType的曲线从动画属性的起始值开始
- Out: 应用于此动画的TInterpolationType的曲线从动画属性的结束值开始,然后向后退回到起始值。
- InOut: 应用于此动画的TInterpolationType的曲线从动画属性的起始值和结束值开始,并在中心点相交。
# 8.1.2. AutoReverse属性
将常规动画完成后,将AutoReverse设置为True,以从StopValue到StartValue向后动画化受控属性。前进和后退动画各自花费持续时间(秒)。如果Loop为True,则前后动画交替进行。向后动画完成后,将调用OnFinish事件。
# 8.1.3. Delay属性
开始动画之前要等待的秒数。
延迟是一个实数,表示开始动画之前要等待的秒数。该时间段是从执行Start方法开始的,或者,如果Enabled为True,则是从运行时的开始开始计算的。如果Loop为True,则延迟仅应用于动画的开始。
# 8.1.4. Duration属性
从起始值到终止值的动画时间(以秒为单位)。
# 8.1.5. Enabled属性
将动画实例创建并附加到父实例后立即启动动画的设置为True。在设计时,在TAnimation的对象检查器中或动态创建TAnimation时启用。如果将Enabled设置为True,则不必执行TAnimation Start方法。你也可以将Enabled设为True来启动动画,但是你必须将Enabled设为False,然后再次设为True来运行动画。另外,如果在动画完成之前将Enabled设置为False,那么如果StartFromCurrent为True,则将启用True,否则将从StartValue重新运行动画。
# 8.1.6. Interpolation属性
动画的插值属性的类型。
确定如何随时间将属性的当前值(或StartValue)更改为目标值(StopValue)的速率。在绘制属性值的图形上,将动画应用于(使用TAnimation PropertyName属性)一个端点,该端点由t = 0处的起始值表示。另一个端点是t = 持续时间秒数时的停止值。许多不同的路径可以连接这两点。唯一的要求就是时间在不断前进! TInterpolationType提供了多种路径可供选择。
使用TInterpolationType为Linear时,属性的值随时间线性变化,起点和终点之间的路径是一条直线。TInterpolationType的此值和其他值如下所述。
TInterpolationType属性值:
- Linear(线性的):线性插值。此动画应用于的属性值会随着时间不断变化。
- Quadratic(二次方的):二次函数应用于起点和终点之间的路径。路径的斜率在起点处为零,并随时间不断增加。将标量应用于该函数以使端点落在路径上。
- Cubic(立方体) :插值的形式为y = x * 3。路径的斜率在起点处为零,并且比路径上的二次函数快得多。
- Quartic(四次) :插值的形式为y = x * 4。路径的斜率在起点处为零,并且比路径上的二次函数快得多。
- Quintic(五重奏) :插值的形式为y = x * 5。路径的斜率在起点处为零,并且比路径上的二次函数快得多。
- Sinusoidal(正弦曲线): 插值的形式为y = sin(x)。路径的斜率在起点处为零,而正弦曲线的第一个拐点(x = pi)在终点处。
- Exponential(指数的):插值的形式为y = e * x。路径的斜率在起点处为1,并且比路径上的二次函数快得多。
- Circular(圆):此插值的起点和终点之间的路径是四分之一圆。路径的斜率在起点为零,在终点为顶点。
- Elastic(有弹性):该路径遵循渐进正弦几何插值。路径的正弦振幅可以在开始时较小,在结束时较大,反之亦然,具体取决于动画类型(输入/输出)。
- Back(背部):该路径不遵循几何插值。值(y坐标)增加,向着起始值移动,但是时间(x值)必须始终沿正方向移动。
- Bounce(弹跳):路径描绘了一个弹跳球。该路径由曲率远离连接起点和终点的直线的圆形曲线组成。这些曲线由尖点连接。
# 8.1.7. Inverse属性
将Inverse设置为True可以使受控属性从StopValue到StartValue向后进行动画处理。向后动画需要持续时间(秒)。向后动画完成后,将调用OnFinish。
# 8.1.8. Loop属性
无限重复播放动画。将Loop设置为True可以从StartValue到StopValue无限期重复动画。该OnFinish事件处理程序不会被调用环是真。要停止循环播放的动画,请调用Stop。
# 8.1.9. PropertyName属性
指定将对其应用动画的属性。
# 8.1.10. StartFromCurrent属性
如果StartFromCurrent为True,则将StartValue属性设置为父级的受控属性的当前值,然后从那里开始动画。
# 8.1.11. Trigger属性
用于启动动画的父对象的属性状态。
触发器是TTrigger类型的字符串属性。见T触发器有关的可能值的信息触发。
触发器用于确定何时开始动画。当此属性具有指示的状态时,动画将开始处理。
# 8.1.12. TriggerInverse属性
用于启动动画逆过程的父对象的属性状态。
TriggerInverse是TTrigger类型的字符串属性。见T触发器有关的可能值的信息触发。
TriggerInverse用于确定何时开始动画的逆过程。例如,如果将Trigger设置为'IsMouseOver=true',并且动画将父按钮的红色更改为蓝色,则Trigger或其动画中没有任何内容可以将按钮重新变回红色。如果TriggerInverse字符串设置为'IsMouseOver=false',则当鼠标离开按钮时,动画的逆序开始。
# 8.2. 事件(Events)
- TfxFloatAnimation组件主要事件
事件 | 何时触发 |
---|---|
OnFinish | 动画停止后调用的事件处理程序 |
OnProcess | 在处理动画期间调用的事件处理程序 |
# 8.2.1. OnFinish事件
动画停止后调用的事件处理程序。
动画在开始后会持续一段持续时间(秒),而在调用“ 开始”的过程完成很长时间之后。动画完成后,将所需的所有处理放入OnFinish事件处理程序中。如果Loop属性为True,则不会调用OnFinish,除非调用Stop方法。
# 8.2.2. OnProcess事件
在处理动画期间调用的事件处理程序。
动画控制的值更改时,将反复调用OnProcess。如果动画改变了父对象的外观,则父对象将自动重新绘制。如果在OnProcess内部进行处理导致在父级边界框外进行绘制,请调用表单的Invalidate方法。
# 8.3. 方法(Methods)
- TfxFloatAnimation组件主要方法
方法 | 功能说明 |
---|---|
Start | 开始运行动画 |
Stop | 停止动画的运行 |
StopAtCurrent | 动画停在当前值 |
# 8.3.1. Start
开始运行动画。
- 动画对象也是动画的父对象,必须是可见的可视对象。否则,调用启动无效。
- 开始将初始化动画处理。对于动画运行时间秒钟从动画的变化控制的属性在startValue到StopValue。您可以使用Stop方法终止动画。这对于将Loop属性设置为True并可以永久运行的动画非常方便。
- 如果在动画完成之前停止动画,则如果StartFromCurrent属性为True,则动画将以当前值恢复,否则动画将从StartValue重新开始。
- 您也可以使用Enabled属性来启动和停止动画。
# 8.3.2. Stop
停止动画的运行。
- 停止将终止动画的处理。对于动画运行时间秒钟从动画的变化控制的属性在startValue到StopValue。您可以使用Stop方法终止动画。这对于将Loop属性设置为True并可以永久运行的动画非常方便。
- 执行Stop时,受控属性值立即移至StopValue。 StopAtCurrent停止在当前值。
- 您也可以使用Enabled属性来启动和停止动画。
# 8.3.3. StopAtCurrent
动画停在当前值。
StopAtCurrent会立即以当前值停止动画。这不同于Stop,后者立即移动到StopValue然后停止。
# 9. TfxPathAnimation
用于在指定路径上移动视觉对象。
创建一个TfxPathAnimation实例,并将其Parent属性设置为表单上的控件。使用Path属性设置动画的坐标。 通过将对象的Rotate属性设置为True,TfxPathAnimation可以在移动过程中旋转对象。
# 9.1. 属性(Properties)
- TfxPathAnimation组件主要属性
属性 | 功能说明 |
---|---|
AnimationType | 设置此动画的插值表达式如何应用于动画属性 |
AutoReverse | 动画开始到结束,结束再到开始 |
Delay | 在启动动画之前要等待的秒数 |
Duration | 设置动画从开始到结束的总时长(单位:秒) |
Enabled | 启动动画 |
Interpolation | 设置动画类型,可以实现很多特殊效果,如心跳,线性 |
Inverse | 向后而不是向前动画 |
Loop | 无限重复播放动画 |
Path | 指定将确定动画路径的点 |
Rotate | 动画的路径是从Path属性给出的点派生的平滑样条 |
Trigger | 用于启动动画的父对象的属性状态 |
TriggerInverse | 用于启动动画逆过程的父对象的属性状态 |
# 9.1.1. AnimationType属性
确定如何应用动画的插值。使用TAnimationType可以指定属性的值如何从其起始值更改为结束值(StopValue)。想象一下二次函数的图:y = x * 2。图的斜率在x = 0处为零。这意味着y在x = 0附近变化非常缓慢。随着x的增加,斜率变得越来越陡峭,这意味着y的变化越来越快。x表示动画中的时间,而y是被动画设置的属性的值。
当TAnimationType为In且TInterpolationType为Quadratic时,此动画所应用的属性的值(PropertyName)在起点附近缓慢变化(等效于x = 0的四角函数)。在TAnimationType为Out的情况下,端点附近的更改缓慢。对于InOut的TAnimationType,两端的更改都很缓慢。曲线围绕中心点镜像,并在中间相交。
TAnimationType可以采用以下值之一:
- In: 应用于此动画的TInterpolationType的曲线从动画属性的起始值开始
- Out: 应用于此动画的TInterpolationType的曲线从动画属性的结束值开始,然后向后退回到起始值。
- InOut: 应用于此动画的TInterpolationType的曲线从动画属性的起始值和结束值开始,并在中心点相交。
# 9.1.2. AutoReverse属性
将常规动画完成后,将AutoReverse设置为True,以从StopValue到StartValue向后动画化受控属性。前进和后退动画各自花费持续时间(秒)。如果Loop为True,则前后动画交替进行。向后动画完成后,将调用OnFinish事件。
# 9.1.3. Delay属性
开始动画之前要等待的秒数。
延迟是一个实数,表示开始动画之前要等待的秒数。该时间段是从执行Start方法开始的,或者,如果Enabled为True,则是从运行时的开始开始计算的。如果Loop为True,则延迟仅应用于动画的开始。
# 9.1.4. Duration属性
从起始值到终止值的动画时间(以秒为单位)。
# 9.1.5. Enabled属性
将动画实例创建并附加到父实例后立即启动动画的设置为True。在设计时,在TAnimation的对象检查器中或动态创建TAnimation时启用。如果将Enabled设置为True,则不必执行TAnimation Start方法。你也可以将Enabled设为True来启动动画,但是你必须将Enabled设为False,然后再次设为True来运行动画。另外,如果在动画完成之前将Enabled设置为False,那么如果StartFromCurrent为True,则将启用True,否则将从StartValue重新运行动画。
# 9.1.6. Interpolation属性
动画的插值属性的类型。
确定如何随时间将属性的当前值(或StartValue)更改为目标值(StopValue)的速率。在绘制属性值的图形上,将动画应用于(使用TAnimation PropertyName属性)一个端点,该端点由t = 0处的起始值表示。另一个端点是t = 持续时间秒数时的停止值。许多不同的路径可以连接这两点。唯一的要求就是时间在不断前进! TInterpolationType提供了多种路径可供选择。
使用TInterpolationType为Linear时,属性的值随时间线性变化,起点和终点之间的路径是一条直线。TInterpolationType的此值和其他值如下所述。
TInterpolationType属性值:
- Linear(线性的):线性插值。此动画应用于的属性值会随着时间不断变化。
- Quadratic(二次方的):二次函数应用于起点和终点之间的路径。路径的斜率在起点处为零,并随时间不断增加。将标量应用于该函数以使端点落在路径上。
- Cubic(立方体) :插值的形式为y = x * 3。路径的斜率在起点处为零,并且比路径上的二次函数快得多。
- Quartic(四次) :插值的形式为y = x * 4。路径的斜率在起点处为零,并且比路径上的二次函数快得多。
- Quintic(五重奏) :插值的形式为y = x * 5。路径的斜率在起点处为零,并且比路径上的二次函数快得多。
- Sinusoidal(正弦曲线): 插值的形式为y = sin(x)。路径的斜率在起点处为零,而正弦曲线的第一个拐点(x = pi)在终点处。
- Exponential(指数的):插值的形式为y = e * x。路径的斜率在起点处为1,并且比路径上的二次函数快得多。
- Circular(圆):此插值的起点和终点之间的路径是四分之一圆。路径的斜率在起点为零,在终点为顶点。
- Elastic(有弹性):该路径遵循渐进正弦几何插值。路径的正弦振幅可以在开始时较小,在结束时较大,反之亦然,具体取决于动画类型(输入/输出)。
- Back(背部):该路径不遵循几何插值。值(y坐标)增加,向着起始值移动,但是时间(x值)必须始终沿正方向移动。
- Bounce(弹跳):路径描绘了一个弹跳球。该路径由曲率远离连接起点和终点的直线的圆形曲线组成。这些曲线由尖点连接。
# 9.1.7. Inverse属性
将Inverse设置为True可以使受控属性从StopValue到StartValue向后进行动画处理。向后动画需要持续时间(秒)。向后动画完成后,将调用OnFinish。
# 9.1.8. Loop属性
无限重复播放动画。将Loop设置为True可以从StartValue到StopValue无限期重复动画。该OnFinish事件处理程序不会被调用环是真。要停止循环播放的动画,请调用Stop。
# 9.1.9. Path属性
指定将确定动画路径的点。
动画的路径是从Path属性给出的点派生的平滑样条。
# 9.1.10. Rotate属性
指定动画对象是否在动画过程中旋转。
使用Rotate属性指定在动画过程中父控件是否应该旋转。如果Rotate设置为True,则控件将旋转,以便在向前动画时底部朝路径的方向,而在反向动画时顶部朝路径的方向。
# 9.1.11. Trigger属性
用于启动动画的父对象的属性状态。
触发器是TTrigger类型的字符串属性。见T触发器有关的可能值的信息触发。
触发器用于确定何时开始动画。当此属性具有指示的状态时,动画将开始处理。
# 9.1.12. TriggerInverse属性
用于启动动画逆过程的父对象的属性状态。
TriggerInverse是TTrigger类型的字符串属性。见T触发器有关的可能值的信息触发。
TriggerInverse用于确定何时开始动画的逆过程。例如,如果将Trigger设置为'IsMouseOver=true',并且动画将父按钮的红色更改为蓝色,则Trigger或其动画中没有任何内容可以将按钮重新变回红色。如果TriggerInverse字符串设置为'IsMouseOver=false',则当鼠标离开按钮时,动画的逆序开始。
# 9.2. 事件(Events)
- TfxPathAnimation组件主要事件
事件 | 何时触发 |
---|---|
OnFinish | 动画停止后调用的事件处理程序 |
OnProcess | 在处理动画期间调用的事件处理程序 |
# 9.2.1. OnFinish事件
动画停止后调用的事件处理程序。
动画在开始后会持续一段持续时间(秒),而在调用“ 开始”的过程完成很长时间之后。动画完成后,将所需的所有处理放入OnFinish事件处理程序中。如果Loop属性为True,则不会调用OnFinish,除非调用Stop方法。
# 9.2.2. OnProcess事件
在处理动画期间调用的事件处理程序。
动画控制的值更改时,将反复调用OnProcess。如果动画改变了父对象的外观,则父对象将自动重新绘制。如果在OnProcess内部进行处理导致在父级边界框外进行绘制,请调用表单的Invalidate方法。
# 9.3. 方法(Methods)
- TfxPathAnimation组件主要方法
方法 | 功能说明 |
---|---|
Start | 开始运行动画 |
Stop | 停止动画的运行 |
StopAtCurrent | 动画停在当前值 |
# 9.3.1. Start
开始运行动画。
- 动画对象也是动画的父对象,必须是可见的可视对象。否则,调用启动无效。
- 开始将初始化动画处理。对于动画运行时间秒钟从动画的变化控制的属性在startValue到StopValue。您可以使用Stop方法终止动画。这对于将Loop属性设置为True并可以永久运行的动画非常方便。
- 如果在动画完成之前停止动画,则如果StartFromCurrent属性为True,则动画将以当前值恢复,否则动画将从StartValue重新开始。
- 您也可以使用Enabled属性来启动和停止动画。
# 9.3.2. Stop
停止动画的运行。
- 停止将终止动画的处理。对于动画运行时间秒钟从动画的变化控制的属性在startValue到StopValue。您可以使用Stop方法终止动画。这对于将Loop属性设置为True并可以永久运行的动画非常方便。
- 执行Stop时,受控属性值立即移至StopValue。 StopAtCurrent停止在当前值。
- 您也可以使用Enabled属性来启动和停止动画。
# 9.3.3. StopAtCurrent
动画停在当前值。
StopAtCurrent会立即以当前值停止动画。这不同于Stop,后者立即移动到StopValue然后停止。