如何在VC2008中使用TeeChart图表控件

如何在VC2008中使用TeeChart图表控件,第1张

在网上下载TeeChart控件并安装,安装自然不用多说,安装完后找到安装路径(带有TeeChart5.ocx文件),复制当前路径

安装完后需要对控件进行简单的注册,打开cmd,通过cd指令并粘贴原来复制好的路径,转到软件安装好的目录;

接着输入:regsvr32 TeeChart5.ocx,然后d出对话框提示注册成功

注册完毕,打开VS2013,新建一个MFC项目,在VC++栏中找到MFC项目,选择好项目存放的目录并填写项目名称

接着是创建向导,只需修改选择“基于对话框”模式,至于“最小化框”和“最大化框”随各自情况选择,其余的默认点“下一步”即可

将默认生成的三个控件按delete键删除

接下来导入TeeChart控件,选择“工具"-》"选择工具箱项"-》"COM组件",找到"TeeChart Pro Active control v5"并选中它,点击"确定"

在工具箱中找到“TeeChart Pro Active control v5”控件并拖放到对话框上,适当调整控件大小

控件已经导入了,接下来需要添加相关的“类”和“变量”,首先添加类。

在“类视图”中右键项目名称,选择“添加”-》“类”;

然后选择“MFC”项中的“TypeLib中的MFC类”,点“添加”。

在注册表的可用类型库中找到"TeeChart Pro Active control v5<1.0>",这里不需要一直下拉慢慢找,只要输入"tee"就可以直接选中

在“接口”中选择所需的类,Teechart控件包含很多类,CTChart是必须的,对应的接口是“ITChart”,其他类包括CSeries、CAxis、CAxes、CTitles等等,这里仅以“CTChart”和“CSeries”为例,选择“ISeries”、“ITChart”。

确定以后可以在类视图中看到新添加的两个类。

接下来需要对控件关联变量,对控件右键选择“添加变量”,选择默认的控件类型,属于类“CTchart1”,对变量进行命名,这里命名为"m_chart",这样类和变量就关联好了。

12

项目中会多出一个tchart1.h文件和tchart1.cpp文件,在对话框类的头文件CTestDlg.h中会有“CTchart1 m_chart”的变量定义,但是CTestDlg.cpp文件中对话框类的构造函数会多出一句“, m_chart(0)”,需要把它删除,否则会编译出错。这样前期准备工作就完成了

您好,vs2010的用法和vc6有很大的不同,特别是在一些函数调用那里,当然。控件导入也是很不一样的

安装好控件后就可以在工程里加入teechart控件了

加入方法有如下几种:

1.添加Teechart控件

1.1 插入Teechart控件

1.1.1 插入控件

新建一个对话框工程,在对话框上点击鼠标右键,d出的菜单里选择“插入ActiveX控件”

然后d出的对话框里选择TeeChart控件

这时对话框就有TeeChart控件了

1.1.2 vs2010另外一种插入控件的方法

vs2010对话框设置的工具栏上就有许多控件了,若想把我们常用的控件也加到工具栏上以后使用就很方便了,下面说的这种方法就是把控件加入工具栏里。方便以后的调用

在工具栏的空白处点击右键,选择添加选项卡

这时vs就会新建一个选项卡,自己可以定义一个名称,这里命名为绘图控件

为选项卡添加项:在新建的选项卡的空白处点击右键,选择“选择项”

由于控件比较多,会耗费一定的时间打开这个选择项,别以为死机了,耐心等个几十秒吧

在打开的对话框中选择选择com标签,选择teechart控件

这样teechart控件就会在你的工具栏新加的选项里了,以后都会存在(我添加TeeChat的同时还把其他的一些控件添加进去了)

1.1.3 控件属性设置

双击控件进行相关设置

这里添加一个快速线图-Fast Line

若数据量特别大,可以在Series标签里的Format的Draw all选项去掉

在Chart标签里还可以设置坐标轴的名称属性等,这里先不详细讲述属性的设置

2.为控件添加类

vs2010与vc6不一样,vs2010的控件对应的类添加相对比vc6麻烦

这里就对刚刚加入的TeeChart控件加入相关的类

2.1 添加TypeLib的mfc类

(1)选择vs菜单“项目”-“添加类”(注意这时类视图树形控件选中最顶端的父节点)

(2)添加TypeLib的mfc类

(3)在可用的类型库里选择teechart5

(4)在接口里就有TeeChart对应的所有类了,这里TChart是必须的接口,其他的可以根据需要添加

(5)点击完成就把CTChart这个类添加进工程里了

其实第(2)步可以选择ActiveX控件的Mfc类, *** 作方法雷同,不过这时是只列出对应的接口

3.把TeeChart控件和对象关联

3.1 为控件关联对象

在控件上点击右键,选择添加变量,即可为控件关联对象

3.2 去掉vs默认的初始化

不知为何vs会默认给添加的变量初始化0,这个初始化一定要去掉否则无法使用

public: CTchart1 m_Chart

CTeeChartDlg::CTeeChartDlg(CWnd* pParent/*=NULL*/)

: CDialogEx(CTeeChartDlg::IDD, pParent)

{

m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME)

}

void CTeeChartDlg::DoDataExchange(CDataExchange* pDX)

{

CDialogEx::DoDataExchange(pDX)

DDX_Control(pDX, IDC_TCHART1, m_Chart)

}

这时TeeChart就可正常使用了。

摘自:http://blog.csdn.net/czyt1988/article/details/7428415

在头文件中要加上

#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 "axistitle.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"

#include "page.h"

TeeChart类的属性和方法

TeeChart的主类是TChart。TChart中使用了众多的属性方法和事件,随着版本的升级将越来越丰富。这使得TChart具有非常强大的功能。本文仅简单地介绍其中一些重要类的属性和方法。

●TChart.Height:图表的高度(像素);

●TChart.Width:图表的宽度(像素);

●TChart.Header:图表的题头(Ititles类);

●TChart.Series:序列(Series类的数组);

●TChart.Axes:坐标轴(Iaxes类);

●TChart.Legend:图例(Legend类);

●TChart.Panel:面板(Ipanel类);

●TChart.Canvas:画布(Canvas类)。

Series是要显示的数据的主体。在一个图表中可以有一个或多个序列,每个序列可以有不同的显示类型,如Line、Bar、Pie等等。

Axes控制图表坐标轴的属性,在缺省的情况下,坐标轴可以自动地根据不同的数据设置好标度范围和间隔,当然也可以手工调整。

Legend控制图表的图例显示。Legend是图表中的一个长方形的用来显示图例标注的区域。可以标注Series的名称或者Series中的项目和数值。

Panel可以设置图表的背景。可以使用渐变的颜色或者图像文件作为整个图表的背景

Canvas可以让设计者绘制自己的图形。使用方法和Delphi中的Canvas一样。有TextOut、 LineTo、Arc等各种画图的方法可以调用。

TChart的一些属性实际上是其他类的变量,这些类又具有自己的属性和方法。如Ititles类又具有Text、Color、Font等属性,我们可以用这些属性来设置题头的文本、颜色和字体。

TeeChart和其他的图表控件相比,有一个非常重要的特点是TeeChart可以把图表保存为一个JPEG格式的图形文件。调用格式如下:

TChart.Export.SaveToJPEGFile (FileName,Gray,Performance,Quality,Width,Height)

其中FileName是JPEG文件的保存路径和文件名,路径应该是 *** 作系统中的绝对路径,而不是IIS中的相对路径,IIS对相应的保存目录应该具有写权限。Gray指明是否保存为黑白图像。Performance指明JPEG是生成质量优先还是速度优先。Quality是一个0到100的整数,100时JPEG质量最好,但文件最大;Quality越小则生成的文件越小,但图像质量也随之下降。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11526094.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-16
下一篇2023-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存