TeeChart中如何根据鼠标的位置来获得Series上点的Index? ( 积分: 100 )

  • 主题发起人 主题发起人 RippleW
  • 开始时间 开始时间
R

RippleW

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大侠,小弟这个程序有点类似于TeeChart自带Demo中的CrossHair。
但是那个程序返回鼠标点的X,Y轴上的具体值,但是我希望的到Series这个点的Index。
不知道如果操作,请多指教!
 
各位大侠,小弟这个程序有点类似于TeeChart自带Demo中的CrossHair。
但是那个程序返回鼠标点的X,Y轴上的具体值,但是我希望的到Series这个点的Index。
不知道如果操作,请多指教!
 
可以取到的,我原来作过,具体是那一个我忘了
 
boy2002,
能不能提供一些线索呢?
Series 的GetCursorValues()返回光标的点.
然后通过Series的GetVertAxis返回坐标轴,将前面返回的光标点传入LabelValue来获得坐标上的点具体值。
那么获得点的索引是不是可以在Series提供的函数中直接完成,而不需要像上面那样先的到坐标轴呢?
 
我不明楼主意思。
你有中文的说明书(电子)?我看E文太累。
lqshang@163.com
 
Series.GetCursorValues(tmpY, tmpY)
这个tmpY, tmpY就是返回光标的点对应的X, Y坐标值
从tmpY, tmpY获取它的索引好像不行,应该可能多值
 
在TeeChart中的工具事件都会返回索引值 ValueIndex
 
找到了,有个函数
Series.GetCursorValueIndex就是返回光标的点对应的索引值
 
MouseMove:
var
ValueIndex:Integer;
begin
ValueIndex:=Series.Clicked(X,Y);
if ValueIndex >=0 then
begin
//你的操作
end;
end;
 
to ostgxf
GetCursorValueIndex这个函数只有在选择点非常靠近Sereis时才会返回ValueIndex,否则ValueIndex是-1。而我则是希望能够得到在Sereis上,点击点的横坐标对应的那个点的Index。
还有那个工具事件,怎么样才可以看到,好像在TeeChart中Event没有看到阿?
to hongxing_dl
效果是上面描述是一样的。
to shangchao
我没有中文的说明书,主要看看自带的Demo和Delphi提供的TeeChart帮助。
 
Delphi自带的TeeChart好像没有工具,TeeChart7就有很多的工具,还有一个很不错的例子(Tee7New),演示加代码。
最常用的工具Cursor就有,
OnChange(Sender: TCursorTool;
x, y: Integer;
const XValue, YValue:do
uble;
Series: TChartSeries;
ValueIndex: Integer);
 
结贴
根据yostgxf的建议,在TeeChart7中带有TCursorTool,将它的Snap属性设为True,该对象的OnChange的事件句柄中将会有ValueIndex。具体的例子可以参考Tee7New程序中的All Feature->Tools ->
Cursors->Synchronizing Two
 
多人接受答案了。
 
后退
顶部