MFC TeeChart 用法整理一 - 图文

更新时间:2023-10-20 20:08:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

MFC TeeChart 用法整理一

因工作需求,要用到TeeChart控件,发现TeeChart在MFC下的资料很少。以下一些TeeChart的用法,大多是从网上七拼八凑得到的,还有一些是我自己摸索的,以下代码经均本人测试,测试环境vc++6.0。

TeeChart的安装方法网上有很多,这里不再赘述。把TeeChart控件添加到工程中后,将其拖到对话框中,然后通过ClassWizard定义一个类变量m_TeeChart。 TeeChart简介:

TeeChart的主类是TChart,TChart类存在众多的属性方法和事件,下面介绍一些主要的属性。

1、 TChart.Height:图表的高度;可用下列语句获取或设置图表的高度

1 m_TeeChart.SetHeight(100); //设置图表高度为100

2 long Height_size = m_TeeChart.GetHeight(); //获取当前图表的高度

2、TChart.Width:图表的宽度;用法与高度一致,就不在赘述

3、TChart.Header:图表的标题;图表可以拥有多级标题,可用下列语句设置图表的标题以及追加标题

1 m_TeeChart.GetHeader().GetText()

2 .SetItem(0, COleVariant(“TeeChart 使用范例”));

3 m_TeeChart.GetHeader().GetText().Add(COleVariant(“追加的标题”));

4、TChart.Series:序列;Series是要显示的数据的主体,在一个图表中可以有一个或者多个序列,每一个序列可以有不同的显示类型,例如Line、Bar、Pic等等,稍后将单独描述。 5、TChart.Axis:坐标轴;用来设置坐标轴的属性

1 m_TeeChart.GetAxis().GetBottom().GetTitle().SetCaption(\轴的标题\

2 // 设置X轴的标题,准确的说应该是设置底部轴的标题

3 m_TeeChart.GetAxis().GetLeft().GetTitle().SetCaption(\轴的标题\4 // 设置左侧轴的标题

5 m_TeeChart.GetAxis().GetBottom().SetMinMax(0, 100); 6 //设置X轴的范围

6、TChart.Legend:图例,图例就是下图中右侧的部分

下列语句可以将图列隐藏

1 m_TeeChart.GetLegend().SetVisible(FALSE); //隐藏图例

MFC TeeChart 用法整理二 (画二维图)

画图需要添加序列,添加序列有两种方式。

1、右击控件选择Properties,在TeeChart Pro Editor选项卡中单击Edit Chart,就可以在打开的对话框中编辑TeeChart控件的属性,如下图。

单击Add按钮,选择第一个Line类型作为示范,如何点击OK。如下图。

添加完序列之后,接下来就要往序列中添加数据了。有三种方式添加数据: 第一种方法只能添加一些随机数:

m_TeeChart.Series(0).FillSampleValues(50); //Series函数的参数表示序列的索引值,这里只有一个Line序列,因此Line序列的索引值为0

第二种方法可以添加指定的数据:

for(int i=0; i<10; i++)

m_TeeChart.Series(0).AddXY(i, rand(), NULL, RGB(255,0,255)); //AddXY函数中第一个参数是X轴的数

据,第二个参数是Y轴的数据,

//第三个参数是X轴标记,第四个参数表示线条的颜色,rand(),表示生成10以内的随机数

此代码执行的效果如下图所示

我们在第三个参数上添加一个字符串

for(int i=0; i<10; i++)

m_TeeChart.Series(0).AddXY(i, rand(), \时间\

显示结果如下:

如果不想显示右侧的图例,可以用下列语句将其隐藏起来:

m_TeeChart.GetLegend().SetVisible(FALSE);

第三种方法可以添加指定的数组:

#define MAX_SIZE 20 //定义数组

COleSafeArray XValues;

COleSafeArray YValues;

//定义的长度只要大于所创建的数组的长度即可

double tmp; long index=0;

for(int i=0; i

tmp = i;

XValues.PutElement(&index, &tmp); tmp = rand()P;

YValues.PutElement(&index, &tmp);

XValues.Create(VT_R8, 1, Xnum); YValues.Create(VT_R8, 1, Ynum); DWORD Xnum[] = {MAX_SIZE}; DWORD Ynum[] = {MAX_SIZE};

index++; }

//向序列中添加数据

m_TeeChart.Series(0).AddArray(MAX_SIZE, XValues, YValues);

如果标记Y轴的值,可以用下列语句:

m_TeeChart.Series(0).GetMarks().SetVisible(TRUE);

设置X轴与Y轴的标题:

m_TeeChart.GetAxis().GetLeft().GetTitle().SetCaption(\路程\m_TeeChart.GetAxis().GetBottom().GetTitle().SetCaption(\速度\

本文来源:https://www.bwwdw.com/article/hjrf.html

Top