图表绘制控件MSCHART的使用方法1

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

VisualBasic中ActiveX控件MSChart的使用方法*

依皮提哈尔·穆罕买提,那斯尔江·土尔逊

(新疆大学数学与系统科学学院,乌鲁木齐,830046)

热依曼·吐尔逊

(新疆大学信息工程学院,乌鲁木齐,830046)

摘要:本文首先介绍了VisualBasic(简称VB)中MSChart控件的使用方法,然后通过简单的例子详细介绍了利用MSChart控件绘制Excel数据源图表的方法。

关键词:VisualBasic;MSChart控件;MicrosoftExcel数据表;图表;数据库

The Methods of Using MSChart Control Based on VB

Iptihar.Muhammat,Nasirjan.Tursun

(Mathematics and Systematic Science Institude of Xinjiang

University,Urumqi,Xinjiang,830046)

Reyima.Tursun

(Information Science and Engineering Institude of Xinjiang University,

Urumqi,Xinjiang,830046)

Abstract:This article discusses how to use the MSChart control and how that is used in the VB project to drawing Microsoft®Excel charts.

KeyWords:MSChart Control;Chartdata;Mirosoft Excel Sheets;Chart;Database

1.引言

Visual Basic中的MSChart控件是一个功能强大的高级图表工具,拥有丰富的图表绘制功能,用它来可以显示二维和三维的棒图、区域图、线形图、饼图等多种常用图表。使用MSChart控件可以按照一定的规范将数据以图表的形式绘制出来。可以通过在控件的属性页中设置数据来创建图表,也可以从其它数据源,如Microsoft Excel和Microsof Access 的电子数据表中检索出要绘制的数据。本文介绍MSChart控件使用方法的同时,主要讨论用MSChart控件绘制Excel数据源图表的实现过程。

2.使用数组和MSChart控件属性绘制图表

2.1添加MSChart控件并调整其属性

(1)先通过“工程”菜单中的“部件”命令,在控件箱里,添加Microsoft Chart Control6.0 (OLEDB)(简称MSChart)

(2)MSChart控件拖动到窗体里,生成初始图表

(3)快捷菜单中的属性命令打开属性页对话框,在该对话狂里可以选择图表类型(在代码中使用ChartType属性),也可以设置图表及其X、Y轴的标题,框架等各种属性2.2使用数组和ChartData属性绘制图表

绘制图表最简单的方法就是创建数字型的数组,然后将ChartData属性设为该数组。下面介绍简单的单系列图表和复杂的多系列图表的创建方法:

-------------------------------------------------------------------------------

*新疆大学校基金”应用软件程序设计”重点课程建设项目资助1

①创建单系列图表——以一年中商品的价格为例

图表中的一个“系列”就是一个相关的数据点集,对于Excel数据表来说,单系列相当于一个单列数据集。下面的代码将产生简单的单系列图表,这段代码可以粘贴到一个Form 的Load事件中,该Form包含名为“MSChart1”的MSChart控件。

Dim arrPrices(1to10)

Dim i As Integer

For i=1to10

arrPrices(i)=i*2

Next i

MSChart1.ChartData=arrPrices

图1图2

②创建复杂的多系列图表

创建复杂的多系列图表,需创建多维数组。创建多维数组时,可以将第一个系列赋值为字符串,当数组赋值给ChartData属性时,字符串将会成为行的标签。图表中系列的数目是由第二个维数决定的。在本例中,图表将有两个系列,每个系列有五个数据点。如下例所示:

Dim arrValues(1to5,1to3)

Dim i as Integer

For i=1to5

arrValues(i,1)="Label"&i'Labels

arrValues(i,2)=0+i'Series1values.

arrValues(i,3)=2*i'Series2values.

Next i

MsChart1.ChartData=arrValues

上面的代码产生的多系列图表(如图2)。

正如所看见的那样,使用ChartData属性创建图表的方法快捷而且简便。但是,使用数组的问题是要将数据取到数组中。这类数据的大多数用户可能更想使用某种电子表格,例如Microsoft Excel,或用某种数据库,如Microsoft Access,来存贮和检索数据。为此,下面重点介绍使用数据源中的数据创建图表的方法。

3.使用数据源中的数据绘制图表

以下以Excel数据源图表为例,介绍使用数据源中的数据来绘制图表的具体方法:3.1打开Excel数据源①

(1)通过“工程”菜单中的“部件”命令,在控件箱里,添加Microsoft Chart Control6.0 (OLEDB)(即MSChart控件),并在窗体上添加MSChart控件

(2)用“工程”菜单中的“引用”命令,将程序连接到“Mirosoft Excel9.0Object Library”(Excel对象库)

(3)用以下代码来,打开名称为test.XLS的Excel数据库,这些代码可以添加到纯代码模块(Module模块)或窗体模块的form_Load()事件过程之中。

On Error Resume Next

Set xlapp=GetObject(,"Excel.Application")'打开正在运行的Excel副本

If Err.Number<>0Then‘如打开失误

Set xlapp=CreateObject("Excel.Application")'创建一个excel副本

ExcelWasNotRunning=True

End If

Err.Clear

‘打开当前目录下的Excel工作簿TEST.XLS

Set xlbook=xlapp.Workbooks.Open(App.Path&"\test.xls")

‘以A1作为当前区域的开头,读取该区域的地址

Set xlrng=xlbook.Worksheets(1).Range("A1").CurrentRegion

3.2获取Excel数据

用户可以用一个Click(单击某一个命令按钮或窗体)事件过程来实现对Excel数据的获取。这个过程仅仅用于组织数组,然后在指定的范围内,通过数组的方式获取数据。该过程的变量类型,要符合Excel表中的字段类型(即每列的数据类型)。

假设我们调用的Excel数据源是以下数据表:

则可以通过定义一个数组thisarray来读取以上数据:

Private sub Start_click()‘“开始”命令按钮的单击事件

Dim thisarray(1To3,1To4)

Dim i As Integer

Dim course1,course2,course3As Single

intRows=3

For i=1To intRows

‘获得行标题(三个学生的名称)

相关文档
最新文档