资源描述:
《小议vc6中调用 proessentials v5图表组件实现科学图表绘制》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、小议VC6中调用ProEssentialsv5图表组件实现科学图表绘制1ProEssentialsv5简介:ProEssentialsv5是应用于s、s、ActiveX、VCL和DLL五种界面。它的图表类型很多,包括:一般图表、科学图表、3维图表、极坐标图表、饼状图表,几乎覆盖了所有常见的图表类型。我们可以很方便的调用ProEssentialsv5的函数库,添加绘制图表的功能,并可以对图表进行分析,如:回回,求最大值,拟合曲线等。我们还可以很方便的将图表文件的数据文件进行保存,或者导出我们希看格式的图片,如bmp、jpg、png。注:一般图表和科学图表之间的区别在于,一般图表仅提供一维坐
2、标数据绘图,而另一维坐标数据是等间距的。科学图表提供二维坐标数据,绘制任意的散点数据。2具体应用方法:(1)无论开发的是OCX的应用程序、DLL的应用程序还是VCL的应用程序,首先要做的就是根据开发环境的操纵系统类型,拷贝PEGRP32C.DLL到相应的在本地硬盘系统盘中往。假如是目录下;假如是32目录下。PEGRAPHS.HLP文件是可选的(2)工程里面添加头文件Pegrpapi.h。选择需要调用的函数,完成图表的绘制功能。在此简介,ProEssentialsv5函数和变量的命名规则。以PEP_为前缀的变量类型如下:PEP_bBoolean(4bytes)PEP_nInteger(4b
3、ytes)PEP_dinatedarrayofcharacters.PEP_fSingle(4bytes)orDouble(8bytes)floatingpoint.PEP_naArrayofInteger(4bytes)PEP_dinatedstrings.PEP_faArrayofSingle(4bytes)orDouble(8bytes)floatingpoint.PEP_structVariousstructures要用DLL调用来设定获取以上变量类型的值,可以根据以上变量类型的前缀来判定应该:PEP_bPEnset/PEngetPEP_nPEnset/PEngetPEP_dwP
4、Elset/PElget(16bit)PEnset/PEnget(32bit)PEP_szPEszset/PEszget.PEP_fPEvset/PEvgetPEP_naPEvset,PEvsetcell,PEvsetcellEx/PEvget,PEvgetcell,PEvgetcellExPEP_dwaPEvset,PEvsetcell,PEvsetcellEx/PEvget,PEvgetcell,PEvgetcellExPEP_szaPEvset,PEvsetcell,PEvsetcellEx/PEvget,PEvgetcell,PEvgetcellExPEP_faPEvset,PE
5、vsetcell,PEvsetcellEx/PEvget,PEvgetcell,PEvgetcellExPEP_structPEvset,/Pevget(3)选择适当的变量,将数据赋予这些变量。一般图表需要给PEP_faYDATA、PEP_szaPOINTLABELS赋值。科学图表和极坐标图表需要給PEP_faXDATA、PEP_faYDATA和PEP_faZDATA赋值。3D的科学图表需要给PEP_faXDATA,PEP_faYDATA,PEP_faZDATA赋值,但是3D的柱状图仅需要PEP_faYDATA。饼状图用PEP_faXDATA来控制“饼”的厚度,有以下的几个DLL函数可以
6、为图表赋值:PEvset():一次可以全部的完成所有数据的赋值。PEvsetEx():一次可以完成部分数据的赋值。.Pevsetcell():一次仅可以为一维数据赋值。PevsetcellEx():一次仅可以为一个点赋值。因此Pevset()是最快的赋值方法。(4)选择选择图表中线(点)颜色的方法颜色是由PEP_dwaSUBSETCOLORS控制的,线型是由PEP_naSUBSETLIYPES控制的,点型是由PEP_naSUBSETPOINTTYPES控制的。以下代码是在C/C++中实现线型设定方法。intnTmpStyles[3;nTmpStyles[0=PELT_THINSOLID;
7、nTmpStyles[1=PELT_DASH;nTmpStyles[2=PELT_DOT;PEvset(hPE,PEP_naSUBSETLIYPES,nTmpStyles,3);注:以上代码使用的Pevset()函数,也可以使用Pevsetcell()函数来实现线型的设定方法。代码如下:intnTmpStyle;nTmpStyle=PELT_THINSOLID;PEvsetcell(hPE,PEP_naSUBSETLIYPES,0,