有一个DBChart控件反映的是商品每天的销售情况,X轴表示商品编号(例如1到10),Y轴表示商品对应的当日销售额(0至10000),现要求在DBChart上作一条可自由上下移动的直线,并能适应Y轴值的变化(例第一次,直线在100,Y轴的最大值是500,每个格子是100的话,直线是在第一个格子,且每移动一个格子是直线值变化100,第二次,Y轴的最大值是1000,每个格子是50的话,直线是在第二个格子,且每移动一个格子是直线值变化50)
由于本人是初学者,请各位大虾详细说明,谢谢

解决方案 »

  1.   

    var
      mycanvas:tcanvas;
      DBChartDC:HDC:
    begin
      mycanvas:=tcanvas.create(nil);
      DBChartDC:=getdc(dbchartdc.handle);
      mycanvas.handle:=DBChartDC;
      //YourDrawLineCode;
      ReleaceDC(DBChart.handle,DBChartDC)//函数名?参数?不一定对。
    end;不知道上面的代码对楼主有没有帮助。手头没Delphi只能写这么多了。楼主要是不急的话5。7以后传呼ME
      

  2.   

    var i :integer;
        myseries :Tlineseries;
        s :string;
    begin
    dbchart1.freeAllSeries;
    myseries:=Tlineseries.Create(self);
      myseries.Title:=???;
      with adoquery??? do
        begin
         close;
         sql.clear;
         sql.add(sql);
         open;
        end;
      while not adoquery???.Eof do
        begin
         myseries.Add(adoquery???.fieldbyname('column2').value,adoquery???.Fieldbyname('ny').value,clteecolor);
         adoquery???.Next;
        end;
      Dbchart1.AddSeries(myseries);
      end;
    end;