在 Delphi 使用 TeeChart (TChart) 元件繪製曲線圖時,滑鼠移至資料點上方時,以 Hint (提示) 顯示該點的 X、Y 座標值。
procedure TForm1.pntsrsSeries1MouseEnter(Sender: TObject);
var
i: Integer;
x1, y1: string;
begin
// 設定游標樣式
pntsrsSeries1.Cursor := crHandPoint;
// 啟用 Hint
cht1.ShowHint := True;
// 取得游標所在資料點索引
i := cht1.Series[1].GetCursorValueIndex;
// 格式化座標值 (保留三位小數)
x1 := FormatFloat('0.000', cht1.Series[1].XValue[i]);
y1 := FormatFloat('0.000', cht1.Series[1].YValue[i]);
// 設定 Hint 文字
cht1.Hint := 'X: ' + x1 + ' Y: ' + y1;
end;
| 屬性/方法 | 說明 |
|---|---|
Series.GetCursorValueIndex |
取得目前游標位置對應的資料點索引 (整數),若游標不在資料點上則回傳 -1。 |
Series.XValue[index] / YValue[index] |
存取指定索引的 X、Y 數值 (Double)。 |
FormatFloat('0.000', value) |
將浮點數格式化為固定三位小數字串。 |
TChart.ShowHint |
必須設為 True 才會顯示 Hint。 |
TChart.Hint |
動態設定提示文字,隨游標移動即時更新。 |
if i >= 0 then ... 避免游標不在點上時存取陣列越界。OnMouseMove 事件中遍歷所有序列找最近點,或使用 TChart.GetCursorValues。THintWindow 並在 OnShowHint 事件處理。利用 TeeChart 內建的 GetCursorValueIndex 與 Hint 機制,僅需十幾行程式碼即可實現資料點座標即時顯示,提升圖表互動體驗。