现在我已经给chart加了x,y的坐标,我怎么才可以在某个x坐标上面画一根竖线或y坐标上面画根横线呢? procedure TForm1.Chart1AfterDraw(Sender: TObject);
const
Danger: Double = 10.5;//警戒水位
DColor: TColor = clRed;//平行线的颜色
DInfo: String = '警戒线';//注释信息
var
X1, X2, Y: Longint;
R: TRect;
begin
with Series1 do begin//Series1为一TLineSeries
X1 := CalcYPosValue(0);
X2 := CalcYPosValue(MaxYValue);
Y := CalcXPosValue(Danger);
end;
with Chart1.Canvas do begin
Pen.Color := clred;
MoveTo(x1, Y);
LineTo(x2, Y);
Pen.Color := clInfoText;
Brush.Color := clInfoBk;{
R := Rect((X1 + X2) div 2, Y - TextHeight(DInfo), (X1 + X2) div 2
+ TextWidth(DInfo) + 4, Y + 4);
FillRect(R);
TextOut(R.Left + 2, R.Top + 2, DInfo);}
end;
end;现在就是想把'Danger: Double = 10.5;//警戒水位'这里变成某个X轴的坐标
const
Danger: Double = 10.5;//警戒水位
DColor: TColor = clRed;//平行线的颜色
DInfo: String = '警戒线';//注释信息
var
X1, X2, Y: Longint;
R: TRect;
begin
with Series1 do begin//Series1为一TLineSeries
X1 := CalcYPosValue(0);
X2 := CalcYPosValue(MaxYValue);
Y := CalcXPosValue(Danger);
end;
with Chart1.Canvas do begin
Pen.Color := clred;
MoveTo(x1, Y);
LineTo(x2, Y);
Pen.Color := clInfoText;
Brush.Color := clInfoBk;{
R := Rect((X1 + X2) div 2, Y - TextHeight(DInfo), (X1 + X2) div 2
+ TextWidth(DInfo) + 4, Y + 4);
FillRect(R);
TextOut(R.Left + 2, R.Top + 2, DInfo);}
end;
end;现在就是想把'Danger: Double = 10.5;//警戒水位'这里变成某个X轴的坐标
解决方案 »
- delphi7 报错 File not found 'dm.dcu'
- delphi5的程序转移到delphi6上 报错 无法定位程序输入点 的问题
- delphi运行时错误怎么解决? 单步调试没错,一直接执行就报地址读写错误
- 有一很奇怪的查询结果。。。。想了N天,没有结果,请帮忙看看。
- 如何禁用和起用IE浏览器(或禁止电脑上网)??
- 如何获得打印文档的页数和名称,急急急!谢谢!
- delphi6+paradox的程序利用自带的install发布的时候,怎样来进行别名的设置呢?
- 一个关于在SQL语句中日期处理的问题,如何让数据库中日期字段提出时没有年份。
- 在Delphi里 DragAcceptFiles,DragQueryFile,DragFinish如何正确使用?
- delphi代码转为c#代码,求协助
- Fast Report的问题
- 超难题,有兴趣过来看看
var
MidPos: Integer;
begin
MidPos := Chart1.LeftAxis.CalcYPosValue(MidValue);
with Chart1 do
begin
Canvas.Pen.Color := clRed;
Canvas.Pen.Style := CrossHairStyle;
Canvas.Pen.Width := 1;
Canvas.MoveTo(ChartRect.Left, MidPos);
Canvas.LineTo(ChartRect.Right, MidPos);
end;
end;
var
MidPos: Integer;
begin
MidPos := Chart1.LeftAxis.CalcYPosValue(MidValue);
with Chart1 do
begin
Canvas.Pen.Color := clRed;
Canvas.Pen.Style := CrossHairStyle;
Canvas.Pen.Width := 1;
Canvas.MoveTo(ChartRect.Left, MidPos);
Canvas.LineTo(ChartRect.Right, MidPos);
end;
end;
var
MidPos: Integer;
begin
MidPos := Chart1.LeftAxis.CalcYPosValue(MidValue);
with Chart1 do
begin
Canvas.Pen.Color := clRed;
Canvas.Pen.Style := CrossHairStyle;
Canvas.Pen.Width := 1;
Canvas.MoveTo(ChartRect.Left, MidPos);
Canvas.LineTo(ChartRect.Right, MidPos);
end;
end;
var
MidPos: Integer;
begin
MidPos := Chart1.LeftAxis.CalcxPosValue(1);
with Chart1 do
begin
Canvas.Pen.Color := clRed;
Canvas.Pen.Style := psDash ;
Canvas.Pen.Width := 1;
Canvas.MoveTo(MidPos,0);
Canvas.LineTo(MidPos,ChartRect.Bottom);
end;
end;我试着画出了竖线,但是我想在X轴的第二个坐标,第二个坐标位置都画上竖线,它的位置怎么定呢?