TChart使用经验小结

Qiyangcc

Qiyangcc

2016-02-19 20:49

最近很多朋友喜欢上设计,但是大家却不知道如何去做,别担心有图老师给你解答,史上最全最棒的详细解说让你一看就懂。

  1、问题:通过Addxy方法给TChart添加标记(Mark)时,发现在TChart的横坐标会随着Mark而变化,后来发现通过以下方法可避免这种情况:双击TChart,点击Axis- top or bottom -labels,在styles中将labels的形式改为Value即可!

  2、几个有用的属性:
          图表上的每个点都是有索引的,就象一个数组一样,在OnClickSeries事件中有个ValueIndex属性,该属性可以得到鼠标所点击的点的索引值(必须将Series的Point设置为可见,鼠标点击到那个点时才可以触发该事件)。

          xValue[index]、yValue[index]分别表示图表的索引为index的横纵坐标值,用这两个属性可以读取和设置索引为index的点的值,注意:不要用xValues和yValues,这两个属性也可以达到同样的目的,但是速度非常的慢。因为后两个在进行操作的时候可能要遍历整个图表上的值(个人观点)

        在MouseDown,MouseMove,Mouseup中,可以利用xScreentoValue(x),yScreentoValue(y)得到鼠标当时所在点对应在图表上的横纵坐标值。

  e.g.

  .......

  private
    Nowindex:Integer;
    Cantuo:boolean;

  ........

  procedure TfrmMain.Chart1ClickSeries(Sender: TCustomChart;
    Series: TChartSeries; ValueIndex: Integer; Button: TMouseButton;
    Shift: TShiftState; X, Y: Integer);
  begin
    NowIndex:=ValueIndex;
  end;

  procedure TfrmMain.Chart1MouseDown(Sender: TObject; Button: TMouseButton;
    Shift: TShiftState; X, Y: Integer);
  begin
  Cantuo:=true;

  end;

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  procedure TfrmMain.Chart1MouseUp(Sender: TObject; Button: TMouseButton;
    Shift: TShiftState; X, Y: Integer);
  begin
  Cantuo:=false;
  end;

  procedure TfrmMain.Chart1MouseMove(Sender: TObject; Shift: TShiftState; X,
    Y: Integer);
  begin
  if Cantuo then
  begin
    Series1.yValue[NowIndex]:=  Series1.yScreenToValue(y) ;
  end;
  end;

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  这里即实现了可以在图表中拖动某一个点使其在纵轴上变化位置


展开更多 50%)
分享

猜你喜欢

TChart使用经验小结

编程语言 网络编程
TChart使用经验小结

RMI使用学习 小结

Web开发
RMI使用学习 小结

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Ajax的小贴士使用小结

Web开发
Ajax的小贴士使用小结

Tchart分析报告

编程语言 网络编程
Tchart分析报告

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Java中文档对象模型DOM经验小结

编程语言 网络编程
Java中文档对象模型DOM经验小结

XML文档搜索使用小结

Web开发
XML文档搜索使用小结

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

C盘满了怎么办?

C盘满了怎么办?

自动化基础概念之“COM组件与接口”

自动化基础概念之“COM组件与接口”
下拉加载更多内容 ↓