读书人

怎么在TChart中画一条平行于X轴的直线

发布时间: 2013-07-04 11:45:40 作者: rapoo

如何在TChart中画一条平行于X轴的直线
看到网上说可以通过函数function来画直线/各种自定义曲线;series|dataSource|function. 在object treeView对象观察器中 series1|TeeFunction1 的OnCalculate事件中添加公式,但是找不到添加OnCalculate事件的地方

[解决办法]
查看program files下Delphi目录下的Teechart举例,里面有现成的。
[解决办法]

引用:
看到网上说可以通过函数function来画直线/各种自定义曲线;series
[解决办法]
dataSource
[解决办法]
function. 在object treeView对象观察器中 series1
[解决办法]
TeeFunction1 的OnCalculate事件中添加公式,但是找不到添加OnCalculate事件的地方


但是找不到添加OnCalculate事件的地方
----------------------
需要手动添加代码

见下例
窗体中一个Tchart(name=cht1)


unit Unit9;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, TeEngine, ExtCtrls, TeeProcs, Chart, Series, TeeFunci;

type
TForm9 = class(TForm)
cht1: TChart;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
Series: TLineSeries; //什么一个Series
cstmtfnctnTeeFunction1: TCustomTeeFunction; //声明一个function
//function的onCalculate方法声明
procedure TeeFunction1Calculate(Sender: TCustomTeeFunction; const x: Double;
var y: Double);
public
{ Public declarations }
end;

var
Form9: TForm9;

implementation

{$R *.dfm}
//function的onCalculate方法实现
procedure TForm9.TeeFunction1Calculate(Sender: TCustomTeeFunction;
const x: Double; var y: Double);
begin
//y:=50; //直线
y:=Sin(x/10); //sin
end;


procedure TForm9.FormCreate(Sender: TObject);
begin
Series := TLineSeries.Create(cht1); //创建series

cstmtfnctnTeeFunction1 := TCustomTeeFunction.Create(Series);//创建function
cstmtfnctnTeeFunction1.ParentSeries := Series;//关联到Series
cstmtfnctnTeeFunction1.OnCalculate := TeeFunction1Calculate;//OnCalculate 事件关联

cht1.AddSeries(Series);//Series加入到cht1中
end;

end.

读书人网 >.NET

热点推荐