基于Mschart的数据库图表应用编程

基于Mschart的数据库图表应用编程
2007-08-09 14:53
图表由于其直观明了的特性,在实际 应用中十分很广泛。我们常常希望数据能通过图表来显示其特性。例如在 Delphi和C++Builder编程中,我们可以很方便地实现数据图表。MsChart(6.0或5.0版)是Windows系统中Visual studio自带的一个ACTIVEX控件,它功能强大,应用广泛,具有以下特点:
支持随机数据和随机数组,动态显示。
支持所有主要的图表类型。
支持三维显示。
MsChart 具有 45 个属性, 9 个方法, 49 事件,可灵活编程,可实现各类表的显示。
1 插入 MsChart 控件窗口
1 MsChart 应用编程
首先插入 MsChart 控件,如图 1
1.1 坐标系属性的设置
a )纵轴初始化属性
Mschart 默认支持自动标准,将自动调整,可以缺省设置。
#include "mschart.h" // 添加相关的头文件
#include "vcplot.h"
#include "vcaxis.h"
#include "vcvaluescale.h"
CMSChart m_Chart;//m_Chart 为图表变量
VARIANT var;
m_Chart.GetPlot().GetAxis(1,var)// 获取纵轴
// 设置是否支持自动标准 ; 控件默认支持自动标准。
m_Chart.GetPlot().GetAxis().GetValuesScale().SetAuto(FALSE);
// 设置最大刻度为 M;
m_Chart.GetPlot().GetAxis().GetValuesScale().SetMaximum(M);
// 设置最小刻度为 m;
m_Chart.GetPlot().GetAxis().GetValuesScale().SetMinimum(m);
// 设置轴的等分数 D;
m_Chart.GetPlot().GetAxis().GetValuesScale().SetMajorDivision(D);
// 设置每等分的刻度线数 n;
m_Chart.GetPlot().GetAxis().GetValuesScale().SetMinorDivision(n);
b )横轴初始化属性
VARIANT var;
m_Chart.GetPlot().GetAxis(0,var)// 获取横轴
其他属性设置跟纵轴相同。
1.2 数据显示
a )设置标题栏和标签
m_Chart.SetTitleText( “标题” );// 设置标题栏
m_Chart.SetRowLabel(( “第 I 行” );// 设置第 i 行标签
m_Chart.SetColumnLabel(( “第 j 列” );// 设置第 j 列标签
b )行列的显示布局
MSChart 的行列显示布局有其自身的特点:下面显示是一个行列 4 × 3 ,即(四行,三列)的布局示意图(图 2 所示)。
图2 数据显示布局示意图
m_Chart.SetRowCount(4); // 行数为 4
m_Chart.SetColumnCount(3); // 列数为 3
c )行列操作
// 操作行列 <i, j> i 行、第 j
m_Chart.SetRow(i);// i
m_Chart.SetColumn(j);// j
m_Chart.SetRowLabel(( “第 i 行” );// 设置第 i 行标签
CString str ”90.5”;
m_Chart.SetData((LPCTSTR(str)); // 设置行列 <i j> 的显示数据
m_Chart.Refresh();// 刷新视图
d )显示方式
获取当前的显示方式:
long nType m_Chart.GetChartType()
设置显示方式:
m_Chart.SetChartType(0);//3D( 三维 ) 显示
m_Chart.SetChartType(1);//2D( 二维 ) 显示
m_Chart.Refresh();
其它常用组合方式为:
m_Chart.SetChartType(1|0) //2D ( ) ,
m_Chart.SetChartType(0|0) //3D ( )
m_Chart.SetChartType(1|2) //2D 线条型
m_Chart.SetChartType(0|2) //3D 线条型
m_Chart.SetChartType(1|4) //2D 区域型
m_Chart.SetChartType(0|4) //3D 区域型
m_Chart.SetChartType(1|6) //2D 阶梯型
m_Chart.SetChartType(0|6) //3D 阶梯型
m_Chart.SetChartType(1|8) //2D ( ) 合型
m_Chart.SetChartType(0|8) //3D ( ) 合型
另外 , 2D 方式中 , 还有两类:饼型和 XY
m_Chart.SetChartType(14) //2D 饼型
m_Chart.SetChartType(16) //2DXY
e )其他
其他属性,比如设置字体,颜色,对齐方式等
图3 数据控件界面示意图

你可能感兴趣的:(编程,数据库,图表,休闲,mschart)