TeeChartPro图表控件在VC6.0平台上的运用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
TeeChartPro图表控件在VC++ 6.0 平台上的运用
看了一些网上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 ℃",strXLabel, dYLabel);
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还可以提供其它更加丰富的功能以满足我们的不同要求。如有好的建议请留言。