在我的專案中,我有幾個 TCharts,每個系列有 2 個系列和 2 個條形圖。[
] 1
在它們中的每一個上,我都需要在滑鼠懸停在它們上時顯示系列條的值。我正在使用 onm ouseMove 事件:
procedure TfrmBoard.chartCountMouseMove(Sender: TObject; Shift:
TShiftState; X, Y: Integer);
var
SeriesIndex : Integer;
begin
with Tcontrol(Sender) do
begin
seriesIndex := (Sender as TChart).series[0].clicked(X,Y);
ShowHint := SeriesIndex <> -1;
if ShowHint then
Hint := FloatToStr((Sender as TChart).series[0].YValues.Value[seriesIndex]);
end;
end;
此代碼顯示圖表中第一個系列的值,但不顯示第二個系列的值。
如果我添加一個回圈,該事件將僅顯示第二個系列的值。
procedure TfrmBoard.chartCountMouseMove(Sender: TObject; Shift:
TShiftState; X, Y: Integer);
var
SeriesIndex : Integer;
i: Integer;
begin
with Tcontrol(Sender) do
begin
for I := 0 to (Sender as TChart).SeriesCount - 1 do
begin
seriesIndex := (Sender as TChart).series[i].clicked(X,Y);
ShowHint := SeriesIndex <> -1;
if ShowHint then
Hint := FloatToStr((Sender as TChart).series[i].YValues.Value[seriesIndex]);
end;
end;
end;
有人可以幫助如何顯示兩個系列的值嗎?
uj5u.com熱心網友回復:
ShowHint您必須在變為時中斷回圈,否則它可能會被下一個值True覆寫False
if ShowHint then begin
Hint := FloatToStr((Sender as TChart).series[i].YValues.Value[seriesIndex]);
Break;
end;
順便問一下,你TChart有SeriesXX物件OnMouseEnter的事件嗎?
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/503904.html
