紧急求助,关于teechart控件的问题。(100分)

  • 主题发起人 主题发起人 扳手
  • 开始时间 开始时间

扳手

Unregistered / Unconfirmed
GUEST, unregistred user!
[blue][/blue][:X] 关于水利上的一个时间-水位-流量曲线,teechart中有两条曲
线,一条是水位曲线,一条是对应的流量曲线,chart的横轴是时间,左边纵轴是水位,右
边是流量。我现在要实现的是:当鼠标在teechart上移动时,旁边的三个label中分别显示
当前鼠标位置x轴所对应的时间、水位、流量的y值,这样说好像不容易看懂,
举个例子:比如当前的鼠标坐标为:x:50,y:(?,无论是多少);我可以根据x:50得到
它所对应的teechar x轴的值为:20:12:53,我该怎么得到x:50(或者20:12:53)所对应的
水位值(series1的 y 值)和流量值(series2的 y 值)?

请大家帮帮忙,送分100
 
大家帮忙看看啊!!!
 
你到DELPHI的安装目录中DEMOS中的TEECHART中看看
 
那个demo我看过了,有个cross的例子,但和我的目的不同。大家再帮我想想办法。
 
Demos中有这个例子,看这个窗体 GanttForm
 
我也看了,还是不太一样。
草兄给我的建议我做了测试,当鼠标移动时,系统会非常慢。
大家谁有更好的解决办法,如果不明白我的问题,我可以把源程e-mail过去。
 
//add a TmarksTipTool
procedure TFrm_Trend_Chart.ChartTool1GetText(Sender: TMarksTipTool;
var Text: string);
var
GetI: integer;
begin
Geti := Series1.GetCursorValueIndex;
if GetI = -1 then
Exit;
text := ' 时间:' + Series1.XLabel[GetI] + #13#10 +
' 开盘:' + FormatFloat('##.00', Series1.OpenValues[GetI])
+ #13#10 + ' 最高:' + FormatFloat('##.00', Series1.HighValues[Geti])
+ #13#10 +
' 最底:' + FormatFloat('##.00', Series1.LowValues[Geti]) + #13#10 +
' 收盘:' + FormatFloat('##.00', Series1.CloseValues[Geti]) );
end;
 
问题没有解决,不过程序勉强过关。
飘飘然的方法也不能解决问题,这个方法可以得到输出点的位置,但还是无法得到两输出点
之间线段上所有点的值。
 
虽然问题没有完全解决,但还是感谢大家。发分!!~~~~
 
后退
顶部