TeeChartPro图表控件在VC6.0平台上的运用

TeeChartPro图表控件在VC6.0平台上的运用
TeeChartPro图表控件在VC6.0平台上的运用

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还可以提供其它更加丰富的功能以满足我们的不同要求。如有好的建议请留言。

相关主题
相关文档
最新文档