如何在运行时点击TButton触发TCustomTeeFunction生成正弦图表
以下为Delphi VCL/FMX环境下的实操步骤:
- 首先在单元
uses段引入必要依赖:
VCL环境引用:VCLTee.TeeFuncs、VCLTee.Series、VCLTee.Chart
FMX环境引用:FMXTee.TeeFuncs、FMXTee.Series、FMXTee.Chart - 编写TButton的
OnClick事件处理逻辑:
procedure TForm1.Button1Click(Sender: TObject); var SinFunc: TSinFunction; // TSinFunction继承自TCustomTeeFunction TargetSeries: TLineSeries; begin // 清空历史内容,避免重复生成 Chart1.RemoveAllSeries; Chart1.Functions.Clear; // 创建正弦函数实例,配置参数 SinFunc := TSinFunction.Create(Self); SinFunc.Amplitude := 2; // 自定义振幅 SinFunc.Period := 360; // 自定义周期 SinFunc.NumPoints := 200; // 自定义采样点数,数值越大曲线越平滑 // 创建展示用序列,绑定TCustomTeeFunction实例 TargetSeries := TLineSeries.Create(Self); TargetSeries.FunctionType := SinFunc; // 内置正弦函数无需外部数据源,会自动根据参数计算数值 TargetSeries.DataSource := nil; // 主动触发计算生成所有坐标点 SinFunc.PerformCalc; // 将序列加入Chart完成绘制 Chart1.AddSeries(TargetSeries); TargetSeries.Active := True; end;
若需要自定义正弦计算逻辑,可直接继承
TCustomTeeFunction重写Calculate方法实现自定义规则,再按照上述逻辑绑定到序列即可。
注意:创建的函数和序列实例会随窗体释放自动析构,无需手动释放,避免重复创建导致内存占用过高。
内容的提问来源于stack exchange,提问作者Jroc
相关产品推荐
相关产品推荐

