TChart的使用

rockyan001 2013-07-24 07:32:30
用tchart画了一条曲线,想实现像Excel散点图一样的功能,鼠标点在曲线上,即可显示出点的坐标。
在论坛搜了好多帖子都没搞明白,特来求助。
...全文
155 点赞 收藏 12
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
rockyan001 2013-08-03
没人回答啊、、、、顶起。。。
回复
rockyan001 2013-08-01
引用 10 楼 rockyan001 的回复:
另外,Tchart 有导出图片的功能,可以通过导出数据点的txt文档,如何通过代码实现?
有哪位大神能指导一下啊。。。
回复
liuyerits1234 2013-07-30
引用 6 楼 rockyan001 的回复:
[quote=引用 5 楼 songhtao 的回复:] bcb6的example目录里有个teearchat的例子演示了 你想要的效果 。
可惜现在用2010版本了啊。。。。2010好像没有例子。。。[/quote] 我也是没找到例子。。呵呵 你还没解决吗?
回复
rockyan001 2013-07-30
另外,Tchart 有导出图片的功能,可以通过导出数据点的txt文档,如何通过代码实现?
回复
程序实现都差不多,自己移植一下就行
回复
rockyan001 2013-07-30
引用 7 楼 liuyerits1234 的回复:
[quote=引用 6 楼 rockyan001 的回复:] [quote=引用 5 楼 songhtao 的回复:] bcb6的example目录里有个teearchat的例子演示了 你想要的效果 。
可惜现在用2010版本了啊。。。。2010好像没有例子。。。[/quote] 我也是没找到例子。。呵呵 你还没解决吗?[/quote] 问题就先按上面的事件解决了咯,但还想看看例程,学习学习嘛
回复
我不懂电脑 2013-07-29
bcb6的example目录里有个teearchat的例子演示了 你想要的效果 。
回复
liuyerits1234 2013-07-29
引用 3 楼 rockyan001 的回复:
[quote=引用 2 楼 rockyan001 的回复:] [quote=引用 1 楼 liuyerits1234 的回复:] 我自己用了个比较笨的办法实现了, 用一个Label做hint,初始时label->Transparent=true;label->Caption="";最好label设置一个背景色 在Chart OnMouseMove事件里,可以得到此时鼠标移动到的点的X,Y坐标,设置label->Top=X,label->Left=Y调整label的位置,并设置label->Transparent=false; 然后用你可以CalcXPosValue(),CalcYPosValue()得到你画的某个点的在屏幕上的横纵坐标,然后可以判断此时鼠标的位置是否在你画的点的位置,在的话就把你要显示的信息赋给label->Caption,如果不在label->Caption=""; 不过我画的点是存在一个list里,并且list里有设定一个int iXVal(使用Chart->AddXY(tmpX,tmpY,NULL),iXVal=tmpX),这样就可以使用CalXPosValue(iXVal) 方法有点笨,不知道能不能帮到你,不过我倒是实现了~
CalcXPosValue(),CalcYPosValue()的涵义是什么,能否把程序给出了参考一下?[/quote] 刚找到了一个“OnClickSeries”事件,点击Series,获取坐标就是曲线的点了。[/quote] 恩,这个方法也可以,因为我当时做的时候并不只想获得这个点所在的坐标,而是想获得一些相关的信息~
回复
rockyan001 2013-07-29
引用 5 楼 songhtao 的回复:
bcb6的example目录里有个teearchat的例子演示了 你想要的效果 。
可惜现在用2010版本了啊。。。。2010好像没有例子。。。
回复
rockyan001 2013-07-28
引用 2 楼 rockyan001 的回复:
[quote=引用 1 楼 liuyerits1234 的回复:] 我自己用了个比较笨的办法实现了, 用一个Label做hint,初始时label->Transparent=true;label->Caption="";最好label设置一个背景色 在Chart OnMouseMove事件里,可以得到此时鼠标移动到的点的X,Y坐标,设置label->Top=X,label->Left=Y调整label的位置,并设置label->Transparent=false; 然后用你可以CalcXPosValue(),CalcYPosValue()得到你画的某个点的在屏幕上的横纵坐标,然后可以判断此时鼠标的位置是否在你画的点的位置,在的话就把你要显示的信息赋给label->Caption,如果不在label->Caption=""; 不过我画的点是存在一个list里,并且list里有设定一个int iXVal(使用Chart->AddXY(tmpX,tmpY,NULL),iXVal=tmpX),这样就可以使用CalXPosValue(iXVal) 方法有点笨,不知道能不能帮到你,不过我倒是实现了~
CalcXPosValue(),CalcYPosValue()的涵义是什么,能否把程序给出了参考一下?[/quote] 刚找到了一个“OnClickSeries”事件,点击Series,获取坐标就是曲线的点了。
回复
rockyan001 2013-07-28
引用 1 楼 liuyerits1234 的回复:
我自己用了个比较笨的办法实现了, 用一个Label做hint,初始时label->Transparent=true;label->Caption="";最好label设置一个背景色 在Chart OnMouseMove事件里,可以得到此时鼠标移动到的点的X,Y坐标,设置label->Top=X,label->Left=Y调整label的位置,并设置label->Transparent=false; 然后用你可以CalcXPosValue(),CalcYPosValue()得到你画的某个点的在屏幕上的横纵坐标,然后可以判断此时鼠标的位置是否在你画的点的位置,在的话就把你要显示的信息赋给label->Caption,如果不在label->Caption=""; 不过我画的点是存在一个list里,并且list里有设定一个int iXVal(使用Chart->AddXY(tmpX,tmpY,NULL),iXVal=tmpX),这样就可以使用CalXPosValue(iXVal) 方法有点笨,不知道能不能帮到你,不过我倒是实现了~
CalcXPosValue(),CalcYPosValue()的涵义是什么,能否把程序给出了参考一下?
回复
liuyerits1234 2013-07-26
我自己用了个比较笨的办法实现了, 用一个Label做hint,初始时label->Transparent=true;label->Caption="";最好label设置一个背景色 在Chart OnMouseMove事件里,可以得到此时鼠标移动到的点的X,Y坐标,设置label->Top=X,label->Left=Y调整label的位置,并设置label->Transparent=false; 然后用你可以CalcXPosValue(),CalcYPosValue()得到你画的某个点的在屏幕上的横纵坐标,然后可以判断此时鼠标的位置是否在你画的点的位置,在的话就把你要显示的信息赋给label->Caption,如果不在label->Caption=""; 不过我画的点是存在一个list里,并且list里有设定一个int iXVal(使用Chart->AddXY(tmpX,tmpY,NULL),iXVal=tmpX),这样就可以使用CalXPosValue(iXVal) 方法有点笨,不知道能不能帮到你,不过我倒是实现了~
回复
相关推荐
发帖
C++ Builder
创建于2007-08-02

1.3w+

社区成员

C++ Builder相关内容讨论区
申请成为版主
帖子事件
创建了帖子
2013-07-24 07:32
社区公告
暂无公告