TChart的使用

rockyan001 2013-07-24 07:32:30
用tchart画了一条曲线,想实现像Excel散点图一样的功能,鼠标点在曲线上,即可显示出点的坐标。
在论坛搜了好多帖子都没搞明白,特来求助。
...全文
192 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
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) 方法有点笨,不知道能不能帮到你,不过我倒是实现了~

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧