VS2010中MFC利用TeeChart控件实现画图

2 篇文章 0 订阅
2 篇文章 0 订阅

一、新建一个基于对话框的MFC应用程序工程,并取一个工程名称,我取的是MFCTeeChart,这个名字可以任意取。对于第三不的最大化最小化按钮可以根据自己喜好勾选或不勾选。

  

 
点击完成,则工程建立完成。
二、拖入TeeChart控件。我是TeeChart8,可能有的小伙伴是TeeChart5,操作几乎是一样的哦。如果你想跟我一样用TeeChart8,我也把TeeChart8的控件打包上传到网上了。具体的网址见链接。拖入控件方法为:右击界面,在弹出的对话框中选择“插入ActiveX控件”
 

在弹出的插入ActiveX控件对话框中找到TeeChart Pro ActiveX control v8,点击确定。

因为我也安装了v5,所以v8上面会有一个v5的选项。如果还是不想用v5,而是想和我用的一样,那么你需要注册一下,注册方法及时打开window的DOC窗口,将目录切换到v8放置的目录下后,输入regsvr32  teechart.ocx并回车即可,有的小伙伴的cd命令并不一定能切换,自己测了一下,应该必须放到C盘cd才能生效,如果还不行你也可以直接regsvr32  后面跟绝对路径,比如,你把v8放置到了C:\temp\teechart.ocx,那么你可以regsvr32 C:\temp\teechart.ocx试一下。具体的v8文件,见我的上传资源,地址

https://download.csdn.net/download/houge101/11090655 或

http://download.csdn.net/detail/houge101/9297347

 
三、添加TeeChart文件,将TeeChar这个文件夹复制到你工程下面
 
四、添加TeeChart序列,这里以画三维图为例:
双击控件,在弹出的对话框中点击“Add”按钮,选择Point 3D下的No Point
 
 
五、添加变量
右击控件,选择“添加变量”,在弹出的对话框中填写一个变量名,我写的是m_TChart。点击确定。编译一下,你会发现有一个错误,双击错误,进入错误出处。注释掉第53行的, m_TChart(0),至于原因,如果感兴趣,可以百度,然后在编译一下,通过,OK。
 


 


 


这时到了很蛋疼的网上连续调用类成员函数,但我 就始终不能调用了。网上有说将
CTchart1 m_TChart;注释掉,改成CTChart m_TChart;但你改了会发现编译根本就通不过,原因就在于调用的库函数根本就不一样。
//CTchart1 m_Tchart;
CTChart m_Tchart;
具体解决办法如下:
还记得我们在第三步复制过一个文件夹么?网上说的连续调用类成员函数都是调用的这个文件夹里面的类成员函数,而不是添加控件之后控件自带的函数,所以你要自己添加头文件。
添加头文件方法就是在MFCTeeChartDlg.h中将#include "tchart1.h"注释掉,添加考入的文件夹中的tchart头文件
#include "TeeChar\tchart.h"
此时,将CTchart1 m_TChart注释掉,修改成CTchart  m_TChart
 
如果你文件夹跟我放置的地方不一样,则你添加头文件的方法也跟我不一样,比如如果放置到C:\Documents and Settings\Administrator\桌面\TeeChart\TeeChart练习\MFCTeeChart下而非C:\Documents and Settings\Administrator\桌面\TeeChart\TeeChart练习\MFCTeeChart\MFCTeeChart,则头文件应该改为#include "..\TeeChar\tchart.h"


这时候在编译链接,你会发现有一个链接错误


 原因就在于你虽然将这个文件考入到项目工程文件夹中了,但是你并没有将文件夹中的文件加入到工程中,你需要手动添加,如果你闲麻烦,你可以将文件夹中的所有.cpp文件加入到工程中,当然不建议这么做,而是建议需要哪个加入哪个。我们拿上面的链接错误举例,找到“解决方案资源管理器”选项卡,右击“源文件”,“添加”-> “现有项”或者按快捷键 shift+alt+A,找到tchart.cpp,点击“添加”
在编译一下发现问题解决,此时你可以像网上的那样进行连续调用类成员函数了。 

到这里本来就应该结束本文了,但鉴于有些人向后可能还会问前面提到的问题,所以我以画一条直线为例接着向下讲解本文。网上可以查阅到画图像的函数如下
m_TChart.Series(0).GetAsPoint3D().AddXYZ(i,i,i,NULL,RGB(255,0,0));
当将他填入到工程中的某个函数你会发现编译有问题,使用了未定义的CSeries,
 原因和上文提到的没有添加tchart.cpp是一样的,添加方法也一样。注意,此时需要在引用Series的文件中添加CSeries头文件。依次类推即可编译通过并运行。

 

效果图

 

源代码地址:

https://download.csdn.net/download/houge101/11069431

下面这个下载次数较多,被增加到了50分了,下载上面的即可,都一样的

http://download.csdn.net/detail/houge101/9297405

 

 

 

 

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值