




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VC中使用TeeChart绘制实时曲线上网找了一个teechart8的Activex版本,在VC6下使用正常,感觉功能挺强大的,于是决定认真用一用,我是完全完全的新手,请高手们直接忽略我,或者给我提些好的建议。我得到的是一个teechart8.ocx文件,这是Activex的文件,使用之前先注册一下,将该文件放入系统目录下/c:/WINDOWS中,然后打开命令提示符,或者直接在运行窗口输入:regsvr32 TeeChart8.ocx,然后会有一个注册成功的提示框,说明我们的ActiveX控件注册成功,在VC6下就可以使用了。如果不想使用了,可以使用regsvr32 -u TeeChart8.ocx 解除对teechart8的注册。我的第一个任务是熟悉teechart控件。首先新建一个基于MFC的exe工程,选择对话框,其他默认。进入工程以后可以看到类视图中只有系统生成的默认的几个类,我先在类视图中在工程名上点右键新建两个文件夹,一个叫src,一个叫tee,然后把默认生成的几个类(dlg,app,about三个类)拖放到src文件夹中。做这一步实际上没有什么实质的意义,只是为了看起开比较方便,因为一会儿添加了teechart8以后会有很多的类添加进来,看起来非常困难,所以先提前把他们分开。闲话不多说,进入资源视图,点击主对话框后,删除todo那个静态文本。下一步我们要在这个对话框上放置一个teechart图表,但是工具栏中没有,所以需要先添加一下。依次点击 工程-增加到工程-components and controls,进入对话框后选择registered ActiveX controls,找到TeeChart Pro Activex control v8后点击insert,会弹出添加类的对话框,左边的列表里面是可以选择添加的类,现在我还不太了解具体类的作用,所以只好一并添加了,点击确定以后回到资源视图会发现工具栏下面多累一个圆形的小图标,这就是我们的teechart8控件了。这时注意到,类视图中已经为我们添加了一堆的类,我把他们都放到tee文件夹中,看起来舒服多了。下一步回到资源视图,将工具箱中的teechart控件托入对话框,改变一下大小,稍作修改,界面设计就完成了。下一步要让teechart输出一个图形,那这次的任务就大功告成了。在对话框上右键点击图标控件,点击属性,选择teechart pro editer 选项卡,点击edit chart ,出现一个名为edit的对话框,该对话框非常重要,包括了teechart的各种属性。简要介绍一下这些属性,我的参考资料是“TEECHART应用技术详解”一书,该书是通过delphi描述的,我没有学过delphi,勉强看着。首先就是series选项,该属性包含的是需要绘制的图表的类型,如曲线,饼图,柱状图,等等等等,种类很多,这也是teechart的优势。其次是chart,这个选项包含了图表的显示部分的很多属性,如坐标轴,背景,标题,等等。data选项中就是绘制图表需要的数据。export选项中包含了一些将图表导出为图片等格式的选项。print选项包含打印的设置。themes包含图表的主题,主要是显示方式。介绍完这写选项以后,试着新建了一个serie,我建立的是fast line,准备做一个实时曲线的显示,于是又更改了一下标题,改为实时曲线,并将chart选项中的legend的Visible前面的勾去掉。OK,编译,运行。发现什么都没有别说实时曲线了,就连曲线也没有一根。其实很容易理解,画曲线得有数据吧,数据都没有怎么给你画呢?所以,还得给该曲线填充一点数据。最简单的方法就是,直接在data选项中添加一些数据,然后运行,发现我们可爱的图表显示出曲线了。好,熟悉teechart的基本任务完成。下一次我接着在这个基础上试着绘制实时曲线。实时曲线接着上一篇文章,本次我的任务是绘制一个实时曲线图,可以实现坐标轴以及曲线随着数据的增加而移动。要完成该功能,首先应该为该图表指定一个对象用于操作。单击图表,选择 建立类向导,点击member variables选项卡,点击add variable按钮,弹出添加变量对话框,输入m_chart后点击OK,一个与该图表控件对应的控件变量就建立完成了。进入类视图,看到dlg类中多了一个m_chart变量。首先,我们利用该变量为该图表填充随机的初始数据。在使用之前,需要包含一些头文件,于是,在XXXDlg.cpp的上面添加如下代码:#include tchart.h#include axis.h#include axes.h#include scroll.h#include series.h然后在OnInitDialog()方法中添加如下代码:/ TODO: Add extra initialization herem_chart.Series(0).FillSampleValues(50);这是点击运行以后,就可以看到图表控件上输出了50个点连成的曲线了。如下图所示下一步我们要做的是让曲线动起来。简单分析一下,要让曲线动起来,可以将左侧的点隐藏,右侧再增加一些新的点。我们可以设置一个定时器,比如1s,每隔1s增加一个数,这样的话数据就可以不断增长了。即添加如下代码:/在OnInitDialog()中添加SetTimer(1,1000,NULL);然后为dlg类添加WM_TIMER的消息响应函数,并添加代码:void CChartDlg:OnTimer(UINT nIDEvent) / TODO: Add your message handler code here and/or call default m_chart.Series(0).Add(900,lable,1); CDialog:OnTimer(nIDEvent);这里需要说明一下,add方法的三个参数,第一个为y值,我添加的是900,第二个为x轴的标签,第三个我不懂,希望有知道的人告诉我一声,谢谢了。添加完毕后可以运行了,这时大家可以发现曲线在动,横坐标消失,变成了lable,而且左侧的曲线没有移出界面,而是曲线整个压缩,这不是我们想要的效果。所以我们还要再做更改。首先进入资源视图,点击对话框,右键单击编辑属性点击tools选项,单击add添加工具。teechart8有很多的工具给我们选择,这里我们点击axis选项卡,选中axis scroll工具后点击add后回到编辑窗,在axis下拉框中选择bottom axis,然后关闭属性编辑即可。接下来,需要实现坐标轴的移动。很简单,只需要在OnTimer中添加中间的那一句代码,void CChartDlg:OnTimer(UINT nIDEvent) / TODO: Add your message handler code here and/or call default m_chart.Series(0).Add(900,lable,1); m_chart.GetAxis().GetBottom().Scroll(1.0,TRUE); CDialog:OnTimer(nIDEvent);void CChartDlg:OnTimer(UINT nIDEvent) / TODO: Add your message handler code here and/or call default m_chart.Series(0).Add(900,lable,1); m_chart.GetAxis().GetBot
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 典当行股权债权转换与转让专项合同
- 水电站建设监理合同规范文本
- 智能制造企业股权合作分红及智能制造解决方案合同
- 污水处理厂污水泵站建设及设备租赁合同
- 智能交通枢纽土地使用权转让与交通管理合作代理合同
- 人类专业测试题及答案
- 电竞专业测试题及答案
- 学校机构工作总结
- 新媒体试用期转正工作总结
- 心病科副护士长工作汇报
- 2021年康平县工会系统招聘笔试试题及答案解析
- 一生一特长·一师一专长实施方案
- 游标卡尺的使用flash动画演示教学课件
- 汽车发动机电控系统实训工作页
- 矿山救援队伍训练大纲及考核要求
- 石油钻井用钻具培训讲义课件
- 管理层财务基础知识培训
- 整理词根词缀法初中英语学习
- 立式储罐重量表
- (高清版)建筑楼盖结构振动舒适度技术标准JGJ_T 441-2019
- 电气系统调试方案
评论
0/150
提交评论