TeeChart在VC中实时曲线绘制的应用_第1页
TeeChart在VC中实时曲线绘制的应用_第2页
TeeChart在VC中实时曲线绘制的应用_第3页
TeeChart在VC中实时曲线绘制的应用_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、TeeChart在VC中实时曲线绘制的应用 一:TeeChart介绍TeeChart Pro是一款提供上百种2D和3D图形风格、40种数学和统计功能、加上无限制的轴和22种调色板组件供选择。提供上百种2D和3D图形风格、40种数学和统计功能、加上无限制的轴和22种调色板组件供您选择。提供上百种2D和3D图形风格、40种数学和统计功能、加上无限制的轴和22种调色板组件供选择,TeeChart还包括一个强大的、完整的编辑对话框,几乎可用于每个组件和子组件,允许你快速的设计复杂图表应用程序。图表编辑器通过TeeCommander组件进一步得到增强,它提供一次点击访问图表编辑器和共同特征。&

2、#160;二:主要特性是32位ActiveX控件,可以在VB、Delphi、MS Office等多种编程环境下使用; 可以直接存取ODBC数据源; 具有11种标准的和9种扩展的Series类型; 提供16种统计函数; 支持2D和3D效果,支持缩放和滚动; 可以将图表输出为Bitmap、Metafile、JPEG 或者Native Chart 格式; 支持用户绘图和打印; 是集成化的设计工具; 提供例子和在线帮助。 三:TeeChart类的属性和方法 TeeChart的主类是TChart。TChart中使用了众多的属性方法和事件,随着版本的升级将越来越丰富。这使得TChart具有非常强

3、大的功能。本文仅简单地介绍其中一些重要类的属性和方法。 :图表的高度(像素); :图表的宽度(像素); :图表的题头(Ititles类); :序列(Series类的数组); :坐标轴(Iaxes类); :图例(Legend类); :面板(Ipanel类); :画布(Canvas类)。 Series是要显示的数据的主体。在一个图表中可以有一个或多个序列,每个序列可以有不同的显示类型,如Line、Bar、Pie等等。 Axes控制图表坐标轴的属性,在缺省的情况下,坐标轴可以自动地根据不同的数据设置好标度范围和间隔,当然也可以手工调整。 Legend控制图表的图例显示。Legend是图表中的一个长方

4、形的用来显示图例标注的区域。可以标注Series的名称或者Series中的项目和数值。 Panel可以设置图表的背景。可以使用渐变的颜色或者图像文件作为整个图表的背景 Canvas可以让设计者绘制自己的图形。使用方法和Delphi中的Canvas一样。有TextOut、LineTo、Arc等各种画图的方法可以调用。 TChart的一些属性实际上是其他类的变量,这些类又具有自己的属性和方法。如Ititles类又具有Text、Color、Font等属性,我们可以用这些属性来设置题头的文本、颜色和字体。 TeeChart和其他的图表控件相比,有一个非常重要的特点是TeeChart可以把图表保存为一个

5、JPEG格式的图形文件。调用格式如下: TChart.Export.SaveToJPEGFile (FileName,Gray,Performance,Quality,Width,Height) 其中FileName是JPEG文件的保存路径和文件名,路径应该是操作系统中的绝对路径,而不是IIS中的相对路径,IIS对相应的保存目录应该具有写权限。Gray指明是否保存为黑白图像。Performance指明JPEG是生成质量优先还是速度优先。Quality是一个0到100的整数,100时JPEG质量最好,但文件最大;Quality越小则生成的文件越小,但图像质量也随之下降。 四:VC 对于

6、Visual C+就不做多的介绍了,因为发现也没有什么特别的语言去介绍该语言的功能。这里采用Visual C+6,TeeChart版本为5来实现。 五:实现办法一)导入vc中1)  将TeeChart5进行系统注册。2)  在VC中选择 Project / Add to Project / Components And Controls/下选择Registered ActiveX Controls,然后找到TeeChart Pro Activex control v5。选择确定即可,这样在我们的项目中出现很多的类,同时在控件区域会出现 二)属性设置 单击右键,选择

7、Edit . 当然,也可以根据要求,在语言里面进行处理。但是也必须包含以下的头文件#include "tchart.h"#include "series.h"#include "valuelist.h"#include "axes.h"#include "axis.h"#include "pen.h"#include "axislabels.h"#include "teefont.h"#include "a

8、xistitle.h"#include "aspect.h"#include "fastlineseries.h"#include "titles.h"#include "fastlineseries.h"#include "panel.h"#include "legend.h"#include "tools.h"#include "toollist.h"#include "annotationtool.h"

9、;  设定信息如下(该CHART控件名称为:m_Chart) /清空chart - m_Chart.ClearChart(); m_Chart.RemoveAllSeries(); /CHART框架 m_Chart.GetFrame().SetVisible(true); m_Chart.GetFrame().SetColor(RGB(255,255,255);/*根据自定义背景色来设置,我这里设定背景色为白色,所以也设定为边框为白色,这样就看不到的,如果不加入,该颜色就默认为黑色的/重要,否则出现边框为默认黑色的.如果要改变背景颜色,那么对应的此处颜色要进行更改的*/ m

10、_Chart.GetPanel().SetColor(RGB(255,255,255); m_Chart.GetLegend().SetVisible(false); / 添加3条曲线 -m_Chart.AddSeries(0);m_Chart.AddSeries(0);m_Chart.AddSeries(0); / 设置3条曲线的坐标轴 -m_Chart.Series(0).SetVerticalAxis(0);m_Chart.Series(1).SetVerticalAxis(0);m_Chart.Series(2).SetVerticalAxis(0);m_Chart

11、.Series(0).SetHorizontalAxis(1);m_Chart.Series(1).SetHorizontalAxis(1);m_Chart.Series(2).SetHorizontalAxis(1);m_Chart.Series(0).GetXValues().SetDateTime(true);m_Chart.Series(1).GetXValues().SetDateTime(true);m_Chart.Series(2).GetXValues().SetDateTime(true); / 设置3条曲线的颜色 -m_Chart.Series(0).SetCol

12、or(RGB(255,0,0);m_Chart.Series(1).SetColor(RGB(0,255,0);m_Chart.Series(2).SetColor(RGB(0,0,255); / 设置3条曲线的名称m_Chart.Series(0).SetName("ZongFengGuan");m_Chart.Series(1).SetName("LieCheGuan");m_Chart.Series(2).SetName("ZhiDongGang");/-设定最大最小值m_Chart.GetAxis().GetBott

13、om().SetMinMax(minStar,minEnd);/ minStar,minEnd要求自己去添加,这里用的是时间的范围/一般为起始时间和结束时间的范围的/ 连接数据库 -CXDatabasedb;_RecordsetPtrpRs;CStringstrSql;if(!db.Connect("ACCESS","",GetRootDir()+"db1.mdb","","")AfxMessageBox("连接数据库失败!");return; strSql.For

14、mat("select * from %s where RunTime>=#%s# and RunTime<=#%s#",m_strTableName,strMinTime,strMaxTime);pRs = db.ExecuteSql(strSql);while(pRs!=NULL && !pRs->adoEOF)/ 添加数据点 -double dTime = oletime2chttime(COleDateTime(pRs->GetCollect("RunTime");double dZFGPress = var2dbl(pRs->GetCollect("ZFGPress");double dLCGPress = var2dbl(pRs->GetCollect("LCGPress");double dZDGPress = var2dbl(pRs->GetCollect("ZDGPress"); m_Chart.Series(0).AddXY(dTime,dZFGPress,NULL,RGB(255,0,0);m_Chart.Series(1).AddXY(dTime,dLCGPre

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论