MFCTeeChart用法整理一.docx

上传人:b****2 文档编号:2249027 上传时间:2022-10-28 格式:DOCX 页数:13 大小:974.41KB
下载 相关 举报
MFCTeeChart用法整理一.docx_第1页
第1页 / 共13页
MFCTeeChart用法整理一.docx_第2页
第2页 / 共13页
MFCTeeChart用法整理一.docx_第3页
第3页 / 共13页
MFCTeeChart用法整理一.docx_第4页
第4页 / 共13页
MFCTeeChart用法整理一.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

MFCTeeChart用法整理一.docx

《MFCTeeChart用法整理一.docx》由会员分享,可在线阅读,更多相关《MFCTeeChart用法整理一.docx(13页珍藏版)》请在冰豆网上搜索。

MFCTeeChart用法整理一.docx

MFCTeeChart用法整理一

MFCTeeChart用法整理一

因工作需求,要用到TeeChart控件,发现TeeChart在MFC下的资料很少。

以下一些TeeChart的用法,大多是从网上七拼八凑得到的,还有一些是我自己摸索的,以下代码经均本人测试,测试环境vc++6.0。

           TeeChart的安装方法网上有很多,这里不再赘述。

把TeeChart控件添加到工程中后,将其拖到对话框中,然后通过ClassWizard定义一个类变量m_TeeChart。

TeeChart简介:

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

   1、TChart.Height:

图表的高度;可用下列语句获取或设置图表的高度

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

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

   2、TChart.Width:

图表的宽度;用法与高度一致,就不在赘述

   3、TChart.Header:

图表的标题;图表可以拥有多级标题,可用下列语句设置图表的标题以及追加标题

1m_TeeChart.GetHeader().GetText()

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

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

   4、TChart.Series:

序列;Series是要显示的数据的主体,在一个图表中可以有一个或者多个序列,每一个序列可以有不同的显示类型,例如Line、Bar、Pic等等,稍后将单独描述。

   5、TChart.Axis:

坐标轴;用来设置坐标轴的属性

1m_TeeChart.GetAxis().GetBottom().GetTitle().SetCaption("X轴的标题");

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

3m_TeeChart.GetAxis().GetLeft().GetTitle().SetCaption("Y轴的标题");

4//设置左侧轴的标题

5m_TeeChart.GetAxis().GetBottom().SetMinMax(0,100);

6//设置X轴的范围

   6、TChart.Legend:

图例,图例就是下图中右侧的部分

   下列语句可以将图列隐藏

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

 

MFCTeeChart用法整理二(画二维图)

 

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

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

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

如下图。

添加完序列之后,接下来就要往序列中添加数据了。

有三种方式添加数据:

第一种方法只能添加一些随机数:

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

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

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

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

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

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

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

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

m_TeeChart.Series(0).AddXY(i,rand()%10,"时间",RGB(255,0,255));

显示结果如下:

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

m_TeeChart.GetLegend().SetVisible(FALSE);

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

#defineMAX_SIZE20

//定义数组

COleSafeArrayXValues;

COleSafeArrayYValues;

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

DWORDXnum[]={MAX_SIZE};

DWORDYnum[]={MAX_SIZE};

XValues.Create(VT_R8,1,Xnum);

YValues.Create(VT_R8,1,Ynum);

doubletmp;

longindex=0;

for(inti=0;i

{

tmp=i;

XValues.PutElement(&index,&tmp);

tmp=rand()%50;

YValues.PutElement(&index,&tmp);

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("速度");

2、第二种添加序列的办法是用代码添加:

m_TeeChart.AddSeries(0);//AddSeries函数的参数表示添加序列的类型0表示添加的序列是折线图

画多条曲线的折线图

m_TeeChart.GetAspect().SetView3D(FALSE);//以2D的效果显示

m_TeeChart.AddSeries(0);//添加一个Line序列

m_TeeChart.AddSeries(0);//添加一个Line序列

m_TeeChart.Series(0).FillSampleValues(50);//向第一个Line序列中添加数据

m_TeeChart.Series

(1).FillSampleValues(50);//向第二个Line序列中添加数据

m_TeeChart.Series(0).SetColor(RGB(255,0,0));//设置第一条曲线的颜色为红色

m_TeeChart.Series

(1).SetColor(RGB(0,255,0));//设置第二条曲线的颜色为绿色

m_TeeChart.Series(0).SetTitle("时间");//设置第一条曲线的图例标题为时间

m_TeeChart.Series

(1).SetTitle("速度");//设置第二条曲线的图例标题为速度

//m_TeeChart.Series(0).GetMarks().SetVisible(TRUE);//显示第一条曲线的标记

//m_TeeChart.Series

(1).GetMarks().SetVisible(TRUE);//显示第二条曲线的标记

代码运行结果如下图所示:

柱状图以及其他2D图形的画法与折线图类似,只不过添加序列的类型不同,这里就不在赘述。

 

MFCTeeChart用法整理三(三维图)

 

画三维图,就要添加三维类型的序列。

       这里我们仍然以折线图作为范例。

右击控件选择Properties,在TeeChartProEditor选项卡中单击EditChart,在弹出来的对话框中单击Add,在3D选项卡中选中Point3D类型,单击左下角的倒三角,选择NoPoint风格,如下图所示。

下面我们开始添加代码:

m_TeeChart.GetAspect().SetView3D(TRUE);//显示3D效果

for(inti=0;i<20;i++)

for(intj=0;j<12;j++)

m_TeeChart.Series(0).GetAsPoint3D().AddXYZ(i,j*i,j,NULL,RGB(255,255,0));//向序列中添加数据,因为这里我们用到Point3D类型的序列,因此用到了GetAsPoint3D这个类数组

显示Z轴:

m_TeeChart.GetAspect().SetView3D(TRUE);//显示3D效果

for(inti=0;i<20;i++)

for(intj=0;j<12;j++)

m_TeeChart.Series(0).GetAsPoint3D().AddXYZ(i,j*i,j,NULL,RGB(255,255,0));

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

m_TeeChart.GetAxis().GetDepth().SetVisible(TRUE);//显示Z轴

m_TeeChart.GetAxis().GetDepth().GetLabels().SetVisible(TRUE);//显示Z轴上的坐标

m_TeeChart.GetAxis().GetDepth().GetLabels().SetStyle(0);//设置显示坐标的风格

Z轴太窄了,我们可以调宽些:

m_TeeChart.GetAspect().SetChart3DPercent(50);//参数范围在0~100之间

画柱状图与画折线图类似,不过添加序列的时候选择Tower类型序列:

m_TeeChart.GetAspect().SetView3D(TRUE);

for(inti=0;i<5;i++)

for(intj=0;j<5;j++)

m_TeeChart.Series(0).GetAsTower().AddXYZ(i,j*i,j,NULL,RGB(255,255,0));//向Tower序列中添加数据

m_TeeChart.GetLegend().SetVisible(FALSE);

m_TeeChart.GetAxis().GetDepth().SetVisible(TRUE);

m_TeeChart.GetAxis().GetDepth().GetLabels().SetVisible(TRUE);

m_TeeChart.GetAxis().GetDepth().GetLabels().SetStyle(0);

m_TeeChart.GetAspect().SetChart3DPercent(50);

 

MFCTeeChart用法整理四(保存图片)

TeeChart可以保存多

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1