爱招飞帮助手册 爱招飞帮助手册
首页
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 系统工具
    • 系统管理
    • 数据库工具
    • 专用模板
    • 外部功能
    • 开发流程
    • 函数代码
  • 开发手册
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 开发手册
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 开发手册
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 报表设计
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • RestAPI
    • WebSocket
  • 学习手册

    • 安装配置
    • 快速上手
    • 程序架构
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 预设资料
    • RestAPI说明
    • WebSocket说明
    • MQTT说明
    • Python说明
    • 自定程序
    • 运行卫士
    • 自动化作业
    • 函数程序
    • 控件使用
  • 开发手册
  • FastERP
  • FastWeb
  • Smart
  • PinToo
  • Flying
  • TARS
  • 通用功能

    • Report
    • Script
    • Echarts
    • Chart
    • DB Install
    • HiDesk
    • HiNAT
    • FastBPM
    • ReportBuilder
首页
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 系统工具
    • 系统管理
    • 数据库工具
    • 专用模板
    • 外部功能
    • 开发流程
    • 函数代码
  • 开发手册
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 开发手册
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 开发手册
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 报表设计
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • RestAPI
    • WebSocket
  • 学习手册

    • 安装配置
    • 快速上手
    • 程序架构
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 预设资料
    • RestAPI说明
    • WebSocket说明
    • MQTT说明
    • Python说明
    • 自定程序
    • 运行卫士
    • 自动化作业
    • 函数程序
    • 控件使用
  • 开发手册
  • FastERP
  • FastWeb
  • Smart
  • PinToo
  • Flying
  • TARS
  • 通用功能

    • Report
    • Script
    • Echarts
    • Chart
    • DB Install
    • HiDesk
    • HiNAT
    • FastBPM
    • ReportBuilder
  • PinToo帮助主页
  • 学习手册

    • 基本入门

    • 功能介绍

    • 控件说明

      • 公共属性
      • 标准控件
      • 系统控件
      • 附加控件
      • 布局控件
      • 形状控件
      • 数据控制控件
      • 手势控件
      • 仪表盘控件
      • 快速设计控件
      • 多媒体控件
      • 物联网控件
      • 地图控件
      • 数据表格控件
      • 特效控件
      • 动画控件
        • 1. TfxColorAnimation
          • 1.1. 属性(Properties)
          • 1.1.1. AnimationType属性
          • 1.1.2. AutoReverse属性
          • 1.1.3. Delay属性
          • 1.1.4. Duration属性
          • 1.1.5. Enabled属性
          • 1.1.6. Interpolation属性
          • 1.1.7. Inverse属性
          • 1.1.8. Loop属性
          • 1.1.9. PropertyName属性
          • 1.1.10. StartFromCurrent属性
          • 1.1.11. StartValue属性
          • 1.1.12. StopValue属性
          • 1.1.13. Trigger属性
          • 1.1.14. TriggerInverse属性
          • 1.2. 事件(Events)
          • 1.2.1. OnFinish事件
          • 1.2.2. OnProcess事件
          • 1.3. 方法(Methods)
          • 1.3.1. Start
          • 1.3.2. Stop
          • 1.3.3. StopAtCurrent
        • 2. TfxGradientAnimation
          • 2.1. 属性(Properties)
          • 2.1.1. AnimationType属性
          • 2.1.2. AutoReverse属性
          • 2.1.3. Delay属性
          • 2.1.4. Duration属性
          • 2.1.5. Enabled属性
          • 2.1.6. Interpolation属性
          • 2.1.7. Inverse属性
          • 2.1.8. Loop属性
          • 2.1.9. PropertyName属性
          • 2.1.10. StartFromCurrent属性
          • 2.1.11. StartValue属性
          • 2.1.12. StopValue属性
          • 2.1.13. Trigger属性
          • 2.1.14. TriggerInverse属性
          • 2.2. 事件(Events)
          • 2.2.1. OnFinish事件
          • 2.2.2. OnProcess事件
          • 2.3. 方法(Methods)
          • 2.3.1. Start
          • 2.3.2. Stop
          • 2.3.3. StopAtCurrent
        • 3. TfxFloatAnimation
          • 3.1. 属性(Properties)
          • 3.1.1. AnimationType属性
          • 3.1.2. AutoReverse属性
          • 3.1.3. Delay属性
          • 3.1.4. Duration属性
          • 3.1.5. Enabled属性
          • 3.1.6. Interpolation属性
          • 3.1.7. Inverse属性
          • 3.1.8. Loop属性
          • 3.1.9. PropertyName属性
          • 3.1.10. StartFromCurrent属性
          • 3.1.11. StartValue属性
          • 3.1.12. StopValue属性
          • 3.1.13. Trigger属性
          • 3.1.14. TriggerInverse属性
          • 3.2. 事件(Events)
          • 3.2.1. OnFinish事件
          • 3.2.2. OnProcess事件
          • 3.3. 方法(Methods)
          • 3.3.1. Start
          • 3.3.2. Stop
          • 3.3.3. StopAtCurrent
        • 4. TfxRectAnimation
          • 4.1. 属性(Properties)
          • 4.1.1. AnimationType属性
          • 4.1.2. AutoReverse属性
          • 4.1.3. Delay属性
          • 4.1.4. Duration属性
          • 4.1.5. Enabled属性
          • 4.1.6. Interpolation属性
          • 4.1.7. Inverse属性
          • 4.1.8. Loop属性
          • 4.1.9. PropertyName属性
          • 4.1.10. StartFromCurrent属性
          • 4.1.11. StartValue属性
          • 4.1.12. StopValue属性
          • 4.1.13. Trigger属性
          • 4.1.14. TriggerInverse属性
          • 4.2. 事件(Events)
          • 4.2.1. OnFinish事件
          • 4.2.2. OnProcess事件
          • 4.3. 方法(Methods)
          • 4.3.1. Start
          • 4.3.2. Stop
          • 4.3.3. StopAtCurrent
        • 5. TfxBitmapAnimation
          • 5.1. 属性(Properties)
          • 5.1.1. AnimationType属性
          • 5.1.2. AutoReverse属性
          • 5.1.3. Delay属性
          • 5.1.4. Duration属性
          • 5.1.5. Enabled属性
          • 5.1.6. Interpolation属性
          • 5.1.7. Inverse属性
          • 5.1.8. Loop属性
          • 5.1.9. PropertyName属性
          • 5.1.10. StartValue属性
          • 5.1.11. StopValue属性
          • 5.1.12. Trigger属性
          • 5.1.13. TriggerInverse属性
          • 5.2. 事件(Events)
          • 5.2.1. OnFinish事件
          • 5.2.2. OnProcess事件
          • 5.3. 方法(Methods)
          • 5.3.1. Start
          • 5.3.2. Stop
          • 5.3.3. StopAtCurrent
        • 6. TfxBitmapListAnimation
        • 7. TfxColorKeyAnimation
          • 7.1. 属性(Properties)
          • 7.1.1. AnimationType属性
          • 7.1.2. AutoReverse属性
          • 7.1.3. Delay属性
          • 7.1.4. Duration属性
          • 7.1.5. Enabled属性
          • 7.1.6. Interpolation属性
          • 7.1.7. Inverse属性
          • 7.1.8. Loop属性
          • 7.1.9. PropertyName属性
          • 7.1.10. StartFromCurrent属性
          • 7.1.11. Trigger属性
          • 7.1.12. TriggerInverse属性
          • 7.2. 事件(Events)
          • 7.2.1. OnFinish事件
          • 7.2.2. OnProcess事件
          • 7.3. 方法(Methods)
          • 7.3.1. Start
          • 7.3.2. Stop
          • 7.3.3. StopAtCurrent
        • 8. TfxFloatKeyAnimation
          • 8.1. 属性(Properties)
          • 8.1.1. AnimationType属性
          • 8.1.2. AutoReverse属性
          • 8.1.3. Delay属性
          • 8.1.4. Duration属性
          • 8.1.5. Enabled属性
          • 8.1.6. Interpolation属性
          • 8.1.7. Inverse属性
          • 8.1.8. Loop属性
          • 8.1.9. PropertyName属性
          • 8.1.10. StartFromCurrent属性
          • 8.1.11. Trigger属性
          • 8.1.12. TriggerInverse属性
          • 8.2. 事件(Events)
          • 8.2.1. OnFinish事件
          • 8.2.2. OnProcess事件
          • 8.3. 方法(Methods)
          • 8.3.1. Start
          • 8.3.2. Stop
          • 8.3.3. StopAtCurrent
        • 9. TfxPathAnimation
          • 9.1. 属性(Properties)
          • 9.1.1. AnimationType属性
          • 9.1.2. AutoReverse属性
          • 9.1.3. Delay属性
          • 9.1.4. Duration属性
          • 9.1.5. Enabled属性
          • 9.1.6. Interpolation属性
          • 9.1.7. Inverse属性
          • 9.1.8. Loop属性
          • 9.1.9. Path属性
          • 9.1.10. Rotate属性
          • 9.1.11. Trigger属性
          • 9.1.12. TriggerInverse属性
          • 9.2. 事件(Events)
          • 9.2.1. OnFinish事件
          • 9.2.2. OnProcess事件
          • 9.3. 方法(Methods)
          • 9.3.1. Start
          • 9.3.2. Stop
          • 9.3.3. StopAtCurrent
      • SVG控件
      • IsoBean控件
    • 功能用法

    • 专用模板

    • 开发流程

    • 函数程序

  • 开发手册

目录

动画控件

# 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然后停止。


特效控件
SVG控件

← 特效控件 SVG控件→

Copyright © 2021-2025 爱招飞IsoFace | ALL Rights Reserved
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式