一个由Tchart控件绘制的曲线图,当图上坐标点多的时候显示的标签值就非常密,导致看不清楚,所以现在需要一个这样的功能,当鼠标移动到线上的时候才现实该点的Y轴坐标值,这个功能该怎么实现呢?

解决方案 »

  1.   

    需要修改TChart的源代码,或找三方控件代替
      

  2.   

    我也正好有这个问题,真搞不懂,为什么DBCHART8.0还有这个问题,我现在对DELPHI有点没信心了,什么东西都要第三方,感觉很不好
      

  3.   

    在demo中看到用GetCursorValues(tmpX,tmpY);  定位光标GetVertAxis.LabelValue(tmpY)取得Y轴的值,GetHorizAxis.LabelValue(tmpX);取得X轴的值,但是根本行不通呢,纳闷!
      

  4.   

    procedure TRptIncExpTideFm.BarMouseMove(Sender: TObject;
      Shift: TShiftState; X, Y: Integer);
      var
          tmpX,tmpY:Double;
      begin
          if PtInRect(Bar.ChartRect,Point(X-Bar.Width3D,Y+Bar.Height3D))then
          begin
              With Series1 do
              begin
                  GetCursorValues(tmpX,tmpY);
                  edit1.Text:=GetVertAxis.LabelValue(tmpY)+''+GetHorizAxis.LabelValue(tmpX);
              end;
          end;
    end;
    可以用这个取得值