TChart使用经验小结

2016-02-19 20:49 27 1 收藏

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

【 tulaoshi.com - 编程语言 】

  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)得到鼠标当时所在点对应在图表上的横纵坐标值。

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

  e.g.

  .......

  private
    Nowindex:Integer;
    Cantuo:boolean;

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

  ........

  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;

  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://www.tulaoshi.com/n/20160219/1624585.html

延伸阅读
标签: Web开发
这个方法要求我们一层层向内找我们需要的数据,如果层次很多的话,做起来就会很费劲,也容易出错。幸好.NET给我们提供了另外一个方法SelectSingleNode和SelectNodes方法可以让我们直接找到所要的数据。比如,我们要找姓名为“Tim”的用户的hobby,我们可以用下面的方法: myDoc.SelectSingleNode ("//member[name='Tim']").Ch...
--建递增序列 CREATE SEQUENCE LZEAM_SP_LOOP_EQ_SEQ MINVALUE 1 INCREMENT BY 1 START WITH 1 测试: SELECT LZEAM_SP_LOOP_EQ_SEQ.NEXTVAL FROM DUAL --建触发器 CREATE OR REPLACE TRIGGER LZEAM.LZEAM_SP_LOOP_EQ_TRIGGER BEFORE INSERT ON SP_LOOP_EQ FOR EACH ROW BEGIN SELECT LZEAM.LZEAM_SP_LOOP_EQ_SEQ.NEXTVAL INTO :NEW.LOOP_EQ...
尽管从技术上讲,其它排名函数的计算与ROW_NUMBER类似,但它们的的实际应用却少很多。RANK和DENSE——RANK主要用于排名和积分。NTILE更多地用于分析。 先创建一个示例表: 代码如下: SET NOCOUNT ON USE [tempdb] IF OBJECT_ID('Sales')IS NOT NULL DROP TABLE sales CREATE TABLE Sales ( empid VARCHAR(10) NOT NULL PRIMARY KEY...
  1. console顶部显示现在时间:在/etc/bashrc或~/.bashrc中加入环境变量PROMPT_COMMAND。 export PROMPT_COMMAND='echo -ne "\0337\033[2;999r\033[1;1H\033[00;44m\033[K"`date`"\033[00m\0338"' 2. 使用多达23个的虚拟终端(VT),假设你现在有6个,仿照/etc/inittab种的文件,加入 8:234:respawn:/sbin/get...
标签: SQLServer
1.在查询分析器理启动或停止SQL Agent服务 启动 use master go xp_cmdshell 'net start SQLSERVERAGENT' 停止 use master go xp_cmdshell 'net stop SQLSERVERAGENT' 将服务的启动从手工方式改为自动启动方式 exec xp_cmdshell 'scm -Action 7 -Service mssqlserver -SvcStartType 2' 直接用...

经验教程

704

收藏

72
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部