我的编程目的是要在chart中显示实时温度曲线,但是它的显示范围是有限的,即只能显示一段时间的曲线,我该如何做才能实现曲线的拖动可以看到以前的温度曲线?

解决方案 »

  1.   

    你可以用TIME控件,反复刷新你的数据
      

  2.   

    不知道你怎么拖动,可以用滚动条实现这个目标。下面是范例代码,你做适当调整
    即可使用
    procedure TGoodInfoForm.ScrollBar1Change(Sender: TObject);
    var xSize:integer;//每页显示的数据的数量
    begin
      xSize:=30;
      With curChart.BottomAxis do
      begin
        //防止出现 Minimum>Maximum
        if Minimum>Scrollbar1.Position+xSize then
        begin
          Minimum:=Scrollbar1.Position;
          Maximum:=Scrollbar1.Position+xSize;
        end
        else
        begin
          Maximum:=Scrollbar1.Position+xSize;
          Minimum:=Maximum-xSize;
        end;
        if Minimum<0 then{数据已到了最小值}
        begin
          Minimum:=0;
          Maximum:=xSize;
        end;
      end;
    end;
      

  3.   

    To:楼上
    你的方法好像不行,我想实现的是,比如说当前chart中显示的是1:00到2:00的温度曲线,现在我想通过拖动在该chart中能够看到0:00到1:00的温度曲线
      

  4.   

    那就用onmousemove事件,判断是否左键按下,然后根据鼠标移动的距离,调整数据源,你看如何?