标题:C++ Builder中TChart Pro使用的问题,用过的来探讨一下
只看楼主
ssfshan
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2008-6-19
 问题点数:0 回复次数:4 
C++ Builder中TChart Pro使用的问题,用过的来探讨一下

如图,在BCB6中使用TChart Pro 7组件设计数据分析显示程序。Pro版本可以设置多个轴,如图左边坐标轴,两种颜色分别对应两个子定义坐标轴,用来把Chart显示区域分成两部分,一部分用来显示模拟变量,另一类用来显示数字变量。左边列表框为TChartListBox,可用来控制显示哪一组数据和对每一个Series的显示样式进行设置。
现面临的问题是,我想把上面两条线(使用蓝色坐标轴的自定义垂直坐标轴)和下面的四条线(使用棕红色的自定义垂直坐标轴)分开两部分,分别在PageContorl的两个标签中显示控制,但试了很多方法都没有办法实现,还是如图的样子,两部分的曲线控制均显示在一个List中。
有关TChart的帮助实在是太少了,特别是例子更难找。不知道有没有熟悉TChart Pro的高手?望不吝赐教。
PS:我曾试图使用TSeriesGroup来分组两种曲线,以期和两个标签中的List挂接,但不知道如何才能实现,写出来的代码均无法成功编译。或许思路上就错了吧?
搜索更多相关主题的帖子: Builder Pro TChart 探讨 
2008-06-19 23:32
ssfshan
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2008-6-19
得分:0 
通过查找Demo中的例子已解决,还是使用SeriesGroup在List中分组曲线,另不能指定TChartListBox的Chart属性。
2008-06-20 00:52
ssfshan
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2008-6-19
得分:0 
好像使用BCB的人不多啊,经常有疑问得不到解决,还有就是代码示例太少,呵呵,希望高手多整理一些例子出来分享一下,谢谢!
从某些方面来说,BCB确实有其独到的优势,应该得到更多人的学习和支持。
2008-06-20 00:53
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
得分:0 
分享一下你经验吧,只有更多的人愿意分享自己的经验,用BCB的人才会更多

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2008-06-25 12:21
ssfshan
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2008-6-19
得分:0 
首先定义两个组(分别对应原贴中数字两个模拟量):
TSeriesGroup *GroupAnalog;
TSeriesGroup *GroupDigital;

对两个组的Series分开显示设置:
void __fastcall TMainForm::Init(TObject *Sender)
{
     int i;
     GroupAnalog = ChartMain->SeriesList->AddGroup("Analog Group");
     for(i = 0; i < 72; i++)
     {
         GroupAnalog->Add(ChartMain->Series[i]);
     }
     GroupDigital = ChartMain->SeriesList->AddGroup("Digital Group");
     for(i = 72; i < 160; i++)
     {
         GroupDigital->Add(ChartMain->Series[i]);
     }

     // Show all series in first group
     //ChartMain->SeriesList->Groups->Items[0]->Show();

     // Hide all series in second group
     //ChartMain->SeriesList->Groups->Items[1]->Hide();

     ChartListBoxAnalog->SeriesGroup = GroupAnalog;
     ChartListBoxDigital->SeriesGroup = GroupDigital;
     // Tell the Chart ListBox to show the Group...

     //ChartListBoxAnalog->SeriesGroup->Show();
     //ChartListBoxDigital->SeriesGroup->Show();
}
通过更改ChartListBox的SeriesGroup属性来设置需要显示的内容。

PS:我使用的Chart Pro,而非BCB自带的Chart组件。
还有就是我设置了纵轴分割,即在上下两组曲线中间画一个线,以在界面上区分,但一直显示不出来,有点奇怪。
2008-06-25 18:57



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-220118-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.166898 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved