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

基于Mschart的数据库图表应用编程
2007-08-09 14:53
图表由于其直观明了的特性,在实际 应用中十分很广泛。我们常常希望数据能通过图表来显示其特性。例如在 Delphi和C++Builder编程中,我们可以很方便地实现数据图表。MsChart(6.0或5.0版)是Windows系统中Visual studio自带的一个ACTIVEX控件,它功能强大,应用广泛,具有以下特点:
· 支持随机数据和随机数组,动态显示。
· 支持所有主要的图表类型。
· 支持三维显示。
MsChart 具有 45 个属性, 9 个方法, 49 事件,可灵活编程,可实现各类表的显示。
1021368606.gif
图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 所示)。
1021375867.gif
图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 )其他
其他属性,比如设置字体,颜色,对齐方式等。
1021379884.gif
图3 数据控件界面示意图
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值