资源描述:
《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_bB
3、oolean(4bytes)PEP_nInteger(4bytes)PEP_dinatedarrayofcharacters.PEP_fSingle(4bytes)orDouble(8bytes)floatingpoint.PEP_naArrayofInteger(4bytes)PEP_dinatedstrings.PEP_faArrayofSingle(4bytes)orDouble(8bytes)floatingpoint.PEP_structVariousstructures要用DLL调用来设定获取以上变量类型的值,可以根据以上变量类型的前
4、缀来判断应该:PEP_bPEnset/PEngetPEP_nPEnset/PEngetPEP_dpStyles[3];nTmpStyles[0]=PELT_THINSOLID;nTmpStyles[1]=PELT_DASH;nTmpStyles[2]=PELT_DOT;PEvset(hPE,PEP_naSUBSETLIYPES,nTmpStyles,3);注:以上代码使用的Pevset()函数,也可以使用Pevsetcell()函数来实现线型的设定方法。代码如下:intnTmpStyle;nTmpStyle=PELT_THINSOLID;PEvs
5、etcell(hPE,PEP_naSUBSETLIYPES,0,nTmpStyle);nTmpStyle=PELT_DASH;PEvsetcell(hPE,PEP_naSUBSETLIYPES,1,nTmpStyle);nTmpStyle=PELT_DOT;PEvsetcell(hPE,PEP_naSUBSETLIYPES,2,nTmpStyle);其他设定颜色和点类型的方法与以上方法类似,在此不再赘述。3实现结果:绘制了一个科学图表,带游标和坐标显示功能,以下函数分别实现基本图表功能和游标显示功能。voidCPEViepleSGraph(){R
6、ECTrect;GetClientRect(rect)m_hPE=PEcreate(PECONTROL_SGRAPH,p;rect,m_hWnd,1001);if(m_hPE){floatfY;floatfX;//设置子集数和每个子集的点数//PEnset(m_hPE,PEP_nSUBSETS,4);PEnset(m_hPE,PEP_nPOINTS,12);for(ints=0;s<=3;s++){for(intp=0;p<=11;p++){fX=((float)(p+1))*100.0F;PEvsetcellEx(m_hPE,PEP
7、_faXDATA,s,p,fX);fY=((float)(p+1)*1.0F)+GetRandom(1,250);PEvsetcellEx(m_hPE,PEP_faYDATA,s,p,fY);}}//设置阴影PEnset(m_hPE,PEP_nDATASHADOAINTITLE,"ExampleData");PEszset(m_hPE,PEP_szSUBTITLE,"");//nosubtitlePEszset(m_hPE,PEP_szYAXISLABEL,"UnitsSold");PEszset(m_hPE,PEP_szXAXISLABEL,"
8、Month");PEnset(m_hPE,PEP_bFOCALRECT,FALSE);PEnset(m_hPE,PEP_bPREPARE