鼠标在曲线上移动时如何得到当前鼠标位置的x轴的值

解决方案 »

  1.   

    procedure TForm1.DBChart1ClickSeries (Sender: TCustomChart;
     Series: TChartSeries; ValueIndex: Longint; Button: TMouseButton;
     Shift: TShiftState; X, Y: Integer);
    var
      XFieldValue,YFieldValue : Double;  // 最近的数据点对应的字段值
      XV,YV ; // 鼠标位置对应于X,Y轴上的坐标值
    begin
      Series.GetCursorValues(XV,YV);
      XFieldValue := Series.XValues[ValueIndex];
      YFieldValue := Series.YValues[ValueIndex];
     
      ShowMessage(' Clicked Series: '+Series.Name+
                 ' at point: '+ inttostr(valueindex) +
                   #13#10 + FloatToStr(XFieldValue) +
                   #13#10 + FloatToStr(YFieldValue));
    end;
      

  2.   

    procedure TFrmCurve.DataChartMouseMove(Sender: TObject; Shift: TShiftState;
      X, Y: Integer);
    var
      Select : Double;
    begin
      Select := DataChart.BottomAxis.CalcPosPoint(X);
    end;