如何显示TeeChart上面曲线的数值? ( 积分: 50 )

  • 主题发起人 主题发起人 check
  • 开始时间 开始时间
C

check

Unregistered / Unconfirmed
GUEST, unregistred user!
我用TeeChart 读取了类似K线的数据,成功显示了一条上下波动的曲线,我现在想要实现鼠标停留在曲线的某一个点上的时候,在鼠标旁边显示出该点横纵坐标值, 显示的信息要放在一个矩形边框里面. 不知道如何实现. 等高手解答.谢谢!
 
以前做过的代码
procedure TCellPlotFrame.Chart_CellPlotMouseMove(Sender: TObject;
Shift: TShiftState;
X, Y: Integer);
var
HintStr: string;
TmpRect: TRect;
i: Integer;
TmpSeries: TCustomSeries;
XValue, YValue:do
uble;
begin
for i := 0 to FSeriesList.Count - 1do
begin
TmpSeries := PTCellSeries(FSeriesList.Items)^.FCellSeries;
if TmpSeries.Clicked(X, Y) > -1 then
begin
TmpSeries.GetCursorValues(XValue, YValue);
HintStr := Format('%s | X:%.1f Y:%.1f', [TmpSeries.Title, XValue, YValue]);
TmpRect := Rect(Mouse.CursorPos.X - 148, Mouse.CursorPos.Y - 18, Mouse.CursorPos.X,
Mouse.CursorPos.Y - 4);
FHintWindow.ActivateHint(TmpRect, HintStr);
{此处显示hint}
Break;
end;
end;
end;
 
谢谢1楼的,不过我想要C++Builder 的代码,你的是Delphi的吧, 现在我自己已经可以在Chart的MouseMove 事件中显示每个点的值,但是每一次只能显示一个点的值,当我鼠标放在第一个点上时,它可以显示第一个点的值,但是当我想看第二个点的值的时候,我就要把鼠标移到Chart 的图形以外,然后移回到图里停留在第而个点上,才能显示第二个点的值,怎样才能一次就在图里,从左到右每一个点的值,我鼠标停留在上面的时候都能显示呢?
还有一个问题就是,Chart 的Series有MouseMove事件么?是不是把我的代码写到Series的MouseMove事件里面才行?
 
接受答案了.
 
后退
顶部