看了一些网上TeeChart的例子,觉得不是很简捷,这里给一个我自己编的VC++6.0下的小例程。
TeeChart图表控件的介绍网上搜一下就能了解个大概,推荐大家看软件安装完毕后的产品说明文档(有点英文基础就能看懂)。国内出了一本介绍它的书,编程环境是Delphi,我习惯用VC++,所以就花了点时间把大致过程描述一下,以节省感兴趣的朋友看产品说明文档的时间。
第一步,启动VC++建立一个基于对话框程序的工程,下面是几个步骤的截图,相信用过VC++的朋友都很熟悉。
这样可以获得一个对话框资源,如下图:
第二步,插入TeeChartPro的ActiveX控件(此控件在TeeChartPro安装后就注册好了),过程如下图:
这时控件组工具栏的尾部会出现一个新的控件:
将这个TeeChartPro控件拖放到对话框里,调整大小到合适为止。
第三步,设置TeeChart控件的属性,本例程目的是画一个随机曲线。上一步已经在对话框上放置了TeeChart图表控件,如下图:
选定TeeChart控件,右键选择Properties:
点击Edit Chart...按钮,设置控件属性:
选择Series表单,点击Add...按钮,加入一条Fast Line曲线:
选择Legend表单,去掉Visible单选框里面的勾:
选择3D表单,去掉3 Dimensions单选框里面的勾:
接上篇
选择Tools表单,添加TeeChart工具,并作相关设置:
设置完毕后,对话框变为:
第四步,加入程序代码。
在CMyTeeChartDlg类的OnInitDialog()函数里添加下面的代码:
// TODO: Add extra initialization here m_ctrlChart.Series(0).Clear();
m_ctrlChart.GetPage().SetMaxPointsPerPage(60); srand((int)time(0)); char strTime[25]; for(int i=0; i<60; i++) {
itoa(i,strTime,10); int dTemper = rand()%100;
m_ctrlChart.Series(0).AddXY(i,dTemper,strTime,RGB(255,0,0)); }
m_ctrlChart.GetAxis().GetLeft().SetMinMax(0, 100); 这段代码生成60个0~100之间的随机数,作为曲线显示数据。
利用Class Wizard添加TeeChart控件对象的OnMouseMove消息处理函数: void CMyTeeChartDlg::OnMouseMoveTchart1(long Shift, long X, long Y) {
// TODO: Add your control notification handler code here int mPoint = -1;
double xValue = m_ctrlChart.Series(0).XScreenToValue(X) + 0.5; mPoint = (int)(xValue); if(mPoint < 0) { return ; }
CValueList xList = m_ctrlChart.Series(0).GetXValues(); CValueList yList = m_ctrlChart.Series(0).GetYValues();
CString strXLabel = m_ctrlChart.Series(0).GetPointLabel(mPoint); int dYLabel = (int)yList.GetValue(mPoint); CToolList tlist = m_ctrlChart.GetTools(); CTools tools = tlist.GetItems(1);
CAnnotationTool anntool = tools.GetAsAnnotation(); CString strTopNote;
strTopNote.Format(\"Time: %ss Temperature: %3d ℃\
anntool.SetText(strTopNote); }
第五步,编译运行。 编译前要加入下列头文件: #include \"Series.h\" #include \"Axis.h\" #include \"page.h\" #include \"ValueList.h\" #include \"ToolList.h\" #include \"Tools.h\"
#include \"AnnotationTool.h\" #include \"Axes.h\" #include 编译无误后即可运行。运行结果如下图,鼠标在曲线上移动时,会显示相关点的坐标。 总结:本文简单介绍了利用TeeChart控件在VC++编程平台上绘制曲线的过程,当然本例程只用到了此控件很少的一部分功能,TeeChart还可以提供其它更加丰富的功能以满足我们的不同要求。如有好的建议请留言。 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo0.com 版权所有 湘ICP备2023021991号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务