質問

私はのデルファイ7に付属しているの TChartコントロールを使用してしたいんだのマウスポインタの下にライン/バーのシリーズとValue#を取得します。

シリーズの上

私は偉大な情報を提供してOnClickSeriesイベントを認識してんだけど、私はのホバーをするときの私は本当にこの情報を欲しいます。

編集:私はこれを掲示し、それ私の受け入れ答え作ったので、1つの図のいずれかのシリーズの種類と複数のシリーズで動作しますTChartのHitTestメソッドを発見しました。彼の努力のためのGameCatに感謝します。

役に立ちましたか?

解決 2

私は最終的にチャートの(でも、異なるタイプの)複数の系列で動作し、この方法を見つけます。

TChart.CalcClickedPart(Pos: TPoint; Var Part: TChartClickedPart);

この方法は、以下の詳細なヒットテストの情報が含まれているTChartClickedPartレコードを埋めます:

TChartClickedPart = record
  Part : TChartClickedPartStyle;
  PointIndex : Integer;
  ASeries : TChartSeries;
  AAxis : TChartAxis;
end;

これは私が望んでいたまさにですシリーズとValueIndex(PointIndex)が含まれます。

他のヒント

あなたはOnChartMouseMove(またはOnSeriesMouseMove)を確認することができます。

procedure TForm5.Chart1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
var
  i : Integer;
begin
  i := Series1.CalcClickedPie(x,y); // i = index of checked data -1 for none
  Memo1.Lines.Add(IntToStr(i));
end;

[OK]を、バーの私の悪い、コードは(も簡単)異なっています

procedure TForm5.Chart1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
var
  i : Integer;
begin
  i := Series1.GetCursorValueIndex;
  Memo1.Lines.Add(IntToStr(i));
end;
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top