掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
TChartのプロットデータ固有のデータをポップアップ表示するには? (ID:20483)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ジョージさんの調査中のロジックですと、ChartのMouseMoveイベントではTPointSeriesが拾えないので、ベタですが、こんな感じでどうでしょう? ChartにLabelを貼り付けておきます。 procedure TForm1.Chart1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); var i: Integer; Xv, Yv, Xc, Yc: Double; flag: Boolean; const d = 1; begin //カーソル上の値 TChart(Sender).Series[0].GetCursorValues(Xc, Yc); flag := False; for i:=0 to TChart(Sender).Series[0].Count-1 do begin //シリーズの値 Xv := TChart(Sender).Series[0].XValue[i]; Yv := TChart(Sender).Series[0].YValue[i]; if (Xv > (Xc-d)) and (Yv > (Yc-d)) and (Xv < (Xc+d)) and (Yv < (Yc+d)) then begin //シリーズ値とカーソル値(ボックス範囲)を比較して //ボックス内にあればフラグを設定して抜ける flag := True; Break; end; end; if flag = True then begin Label1.Caption := Format('(%8.4f,%8.4f)', [Xv, Yv]); Label1.Left := X + 5; Label1.Top := Y - 10; Label1.Visible := True; Application.ProcessMessages; end else begin Label1.Visible := False; Application.ProcessMessages; end; end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.