网站首页
手机版

VC6中VC6中调用ProEssentialsv5图表组件实现科学图表绘制

更新时间:2006-03-22 00:00:00作者:未知

1 ProEssentials v5简介:
ProEssentials v5是应用于windows 服务器端和客户端开发的一系列图表组件,它是对绘

制图表以及图表分析功能所需要的数据和方法的简单封装。可以提供Winforms、Webforms、ActiveX、VCL和DLL五种界面。它的图表类型很多,包括:一般图表、科学图表、3维图表、极坐标图表、饼状图表,几乎覆盖了所有常见的图表类型。我们可以很方便的调用ProEssentials v5的函数库,添加绘制图表的功能,并可以对图表进行分析,如:回归,求最大值,拟合曲线等。我们还可以很方便的将图表文件的数据文件进行保存,或者导出我们希望格式的图片,如bmp、jpg、png。注:一般图表与科学图表之间的区别在于,一般图表仅提供一维坐标数据绘图,而另一维坐标数据是等间距的。科学图表提供二维坐标数据,绘制任意的散点数据。
2 具体应用方法:
(1)无论开发的是OCX的应用程序、DLL的应用程序还是VCL的应用程序,首先要做的就是根据开发环境的操作系统类型,拷贝PEGRP32C.DLL到相应的在本地硬盘系统盘中去。如果是win95或者win98操作系统,拷贝PEGRP32C.DLL到System目录下;如果是win2000操作系统,拷贝PEGRP32C.DLL到System32目录下。PEGRAPHS.HLP文件是可选的
(2)工程里面添加头文件Pegrpapi.h。
选择需要调用的函数,完成图表的绘制功能。在此简介,ProEssentials v5函数和变量的命名规则。以PEP_为前缀的变量类型如下:
PEP_b Boolean (4 bytes)
PEP_n Integer (4 bytes)
PEP_dw Double Word (4 bytes)
PEP_sz Null Terminated array of characters.
PEP_f Single (4 bytes) or Double (8 bytes) floating point.
PEP_na Array of Integer (4 bytes)
PEP_dwa Array of Double Word (4 bytes)
PEP_sza Array of Null Term

inated strings.
PEP_fa Array of Single (4 bytes) or Double (8 bytes) floating point.
PEP_struct Various structures
要用DLL调用来设定获取以上变量类型的值,可以根据以上变量类型的前缀来判断应该:
PEP_b PEnset / PEnget
PEP_n PEnset / PEnget
PEP_dw PElset / PElget (16 bit) PEnset / PEnget (32 bit)
PEP_sz PEszset / PEszget.
PEP_f PEvset / PEvget
PEP_na PEvset, PEvsetcell, PEvsetcellEx / PEvget, PEvgetcell, PEvgetcellEx
PEP_dwa PEvset, PEvsetcell, PEvsetcellEx / PEvget, PEvgetcell, PEvgetcellEx
PEP_sza PEvset, PEvsetcell, PEvsetcellEx / PEvget, PEvgetcell, PEvgetcellEx
PEP_fa PEvset, PEvsetcell, PEvsetcellEx / PEvget, PEvgetcell, PEvgetcellEx
PEP_struct PEvset, / 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函数可以为图表赋值:
PEvset ():一次可以全部的完成所有数据的赋值。
PEvsetEx ():一次可以完成部分数据的赋值。.
Pevsetcell():一次仅可以为一维数据赋值。
PevsetcellEx():一次仅可以为一个点赋值。
因此Pevset()是最快的赋值方法。
(4)选择选择图表中线(点)颜色的方法
颜色是由PEP_dwaSUBSETCOLORS控制的,线型是由PEP_naSUBSETLINETYPES控制的,点型是由PEP_naSUBSETPOINTTYPES控制的。
以下代码是在C/C++中实现线型设定方法。
int nTmpStyles[3];
nTmpStyles[0] = PELT_THINSOLID;
nTmpStyles[1] = PELT_DASH;
nTmpStyles[2] = PELT_DOT;
PEvset(hPE, PEP_naSUBSETLINETYPES, nTmpStyles, 3);
注:以上代码使用的Pevset()函数,也可以使用Pevsetcell()函数来实现线型的设定方法。代码如下:
int nTmpStyle;
nTmpStyle = PELT_THINSOLID;
PEvsetcell(hPE, PEP_naSUBSETLINETYPES, 0, &nTmpStyle);
nTmpStyle = PELT_DASH;
PEvsetcell(hPE, PEP_naSUBSETLINETYPES, 1, &nTmpStyle);

nTmpStyle = PELT_DOT;
PEvsetcell(hPE, PEP_naSUBSETLINETYPES, 2, &nTmpStyle);
其他设定颜色和点类型的方法与以上方法类似,在此不再赘述。
3 实现结果:
绘制了一个科学图表,带游标和坐标显示功能,以下函数分别实现基本图表功能和游标显示功能。
void CPEView::CreateSimpleSGraph()
{
RECT rect;
GetClientRect( &rect );

m_hPE = PEcreate(PECONTROL_SGRAPH, WS_VISIBLE, &rect, m_hWnd, 1001);
if( m_hPE )
{
float fY;
float fX;
// 设置子集数和每个子集的点数 //
PEnset(m_hPE, PEP_nSUBSETS, 4);
PEnset(m_hPE, PEP_nPOINTS, 12);
for( int s=0; s

本文标签:

为您推荐

FOXPRO在三峡工程信息管理中的应用

三峡工程是世界级的巨型工程,专业门类多、技术复杂、信息管理工作量巨大,必须使用MIS系统对信息进行收集、整理、存储、统计、分析、制表。几年来,我们先后用FOXBASE、FOXPRO编制了《工资管理系统》、《土石方工程量计算程序》、《工程支付管理系统》、《文档管理系统

2011-11-09 16:03

论信息技术在外语教学中的应用

随着信息技术的发展, 计算机多媒体技术和网络被广泛地应用在外语教学中, 改变了传统外语教学模式。现代化外语教学提高了外语教学水平, 从而培养高素质的外语人才, 满足日益增长的社会需求。

2011-11-09 16:02

对计算科学与计算机发展的思考

本文从什么是计算说起, 通过对计算机的发展历史和人类对计算本质认识的回顾, 提出量子计算系统的发展和成熟, 并且提出了人类认识未知世界的规律:“计算工具不断发展—整体思维能力的不断增强—公理系统的不断扩大—旧的神谕被解决—新的神谕不断产生”不断循环。

2011-11-09 16:01

试析高职院校计算机专业教学的改革

提高高职院校计算机专业的教学水平,是高职院校计算机教育工作者应该深入思考的问题。通过分析高职院校计算机专业教育的教学特点,从如何培养计算机应用型人才的角度出发,对高职计算机专业教学中存在的不足进行了总结,并提出了几点改革设想。

2011-11-09 16:00

水利工程计算机应用现状与思考

水利水电工程地质又是所有这些不同行业的工程地质专业中涉及面最广声望最高问题最复杂任务最艰巨的专业,这是众所周知毋庸置疑的。水利工程计算机应用具有广阔的发展前景,无论是数值计算、数据库应用,还是专家系统、网络系统,都大有用武之地;特别是工程地质制图(主

2011-11-09 15:59

论高职计算机应用专业课程优化与整合

课程体系是教育教学目标实现的重要保证,高职计算机应用专业课程体系要以为社会培养计算机应用性专门人才这一根本任务而进行设计,本文对计算机应用专业课程设置进行一定的探讨。

2011-11-09 15:58

加载中...