怎样在VS2013/MFC中使用TeeChart绘图控件
TeeChart作为一款强大好用的绘图控件,通过它可以绘制出各式各样的图表,包括2D的,还有3D的,绘制的图表美观实用,这里主要讲述如何在VS2013/MFC中使用TeeChart控件,顺便说一下在VS2013中如何创建MFC项目。
工具/原料
- Visual studio 2013
- TeeChart.pro.v5.ActiveX
方法/步骤
- 1
在网上下载TeeChart控件并安装,安装自然不用多说,安装完后找到安装路径(带有TeeChart5.ocx文件),复制当前路径
- 2
安装完后需要对控件进行简单的注册,打开cmd,通过cd指令并粘贴原来复制好的路径,转到软件安装好的目录;
接着输入:regsvr32 TeeChart5.ocx,然后弹出对话框提示注册成功
- 3
注册完毕,打开VS2013,新建一个MFC项目,在VC++栏中找到MFC项目,选择好项目存放的目录并填写项目名称
- 4
接着是创建向导,只需修改选择“基于对话框”模式,至于“最小化框”和“最大化框”随各自情况选择,其余的默认点“下一步”即可
- 5
将默认生成的三个控件按delete键删除
- 6
接下来导入TeeChart控件,选择“工具"-》"选择工具箱项"-》"COM组件",找到"TeeChart Pro Active control v5"并选中它,点击"确定"
- 7
在工具箱中找到“TeeChart Pro Active control v5”控件并拖放到对话框上,适当调整控件大小
- 8
控件已经导入了,接下来需要添加相关的“类”和“变量”,首先添加类。
在“类视图”中右键项目名称,选择“添加”-》“类”;
然后选择“MFC”项中的“TypeLib中的MFC类”,点“添加”。
- 9
在注册表的可用类型库中找到"TeeChart Pro Active control v5<1.0>",这里不需要一直下拉慢慢找,只要输入"tee"就可以直接选中
- 10
在“接口”中选择所需的类,Teechart控件包含很多类,CTChart是必须的,对应的接口是“ITChart”,其他类包括CSeries、CAxis、CAxes、CTitles等等,这里仅以“CTChart”和“CSeries”为例,选择“ISeries”、“ITChart”。
确定以后可以在类视图中看到新添加的两个类。
- 11
接下来需要对控件关联变量,对控件右键选择“添加变量”,选择默认的控件类型,属于类“CTchart1”,对变量进行命名,这里命名为"m_chart",这样类和变量就关联好了。
- 12
项目中会多出一个tchart1.h文件和tchart1.cpp文件,在对话框类的头文件CTestDlg.h中会有“CTchart1 m_chart;”的变量定义,但是CTestDlg.cpp文件中对话框类的构造函数会多出一句“, m_chart(0)”,需要把它删除,否则会编译出错。这样前期准备工作就完成了
END
控件绘图示例-绘制随机曲线
- 1
双击对话框中添加的Teechart控件,弹出对话框,选择“Add”添加图表,在弹出的对话框中可以看到很多图表类型,这里选择最简单的“Fast line”,并取消“3D”,选择“Fast line”下选的“normal”系列,其它选项暂不多说,点击“完成”会生成series0
- 2
添加一个按钮,修改属性“Caption”和“ID”
- 3
双击按钮自动生成按钮点击事件处理函数,编辑函数,注意添加CSeries.h头文件,用AddXY函数进行绘图,第一个参数表示横坐标,第二个表示纵坐标,和面两个默认NULL就行。
void CTestDlg::OnBnClickedDraw()
{
// TODO: 在此添加控件通知处理程序代码
CSeries lineSeries = (CSeries)m_chart.Series(0);
lineSeries.Clear();
for (int i = 0; i < 100; i++)
{
lineSeries.AddXY((double)i, rand(),NULL,NULL);
}
}
- 4
这样,一个简单的Teechart应用程序就完成了。Teechart功能很是强大,也很方便,许多功能可以双击后进行设置,希望对大家有所帮助。
END
注意事项
- 添加完变量后别忘了把构造函数里的初始化赋值语句去掉,防止编译失败
- 注意添加头文件,因为除CTchart类以外,其他类都需要手动导入
- 重新绘图前别忘了用Clear函数清除一下
Repinted From:http://jingyan.baidu.com/article/c33e3f48ac6c5aea15cbb51f.html
最新文章
- BZOJ3670 [Noi2014]动物园
- 飞流直下的精彩 -- 淘宝UWP中瀑布流列表的实现
- C/C++ 的使用
- 解决eclipse Maven 主项目不能刷新maven
- IIS-Server is too busy _解决方法
- 【转】【C#】判断两个文件是否相同
- cmd中无法运行svn命令
- hadoop 数据采样
- <;问题>;Eclipse中Deploy应用到GAE的错误
- 监控父元素里面子元素内容变化 DOMSubtreeModified
- C#中隐式操作CMD命令行窗口
- ZOJ2067 经典 DP
- thinkphp框架实现删除上传的文件
- Java基础之中间件的初识
- Input标签_实现限制输入字符类型(只能输入特定类型字符)
- Linux安装Tomcat-Nginx-FastDFS-Redis-Solr-集群——【第七集之SSH远程连接——克隆与更改配置】
- jps: command not found
- multiprocessing还是threading?
- bind&;currying
- .net WebService的使用
热门文章
- EXCEL处理数据小技巧
- Stream,Reader/Writer,Buffered的区别(1)
- Tutorial: Importing and analyzing data from a Web Page using Power BI Desktop
- LD_PRELOAD
- Enyim.Caching 客户端配置及示例
- MS Chart-按照数据库的最大最小时间设置X轴label.
- iOS 进阶 第二十二天(0603)
- Java Day 12
- Windows平台下Python2.7中pip的安装方法
- iOS多线程自定义operation加载图片 不重复下载图片