1、MSChart属性数据图表/报表技术图表/报表是数据信息输出最常用的格式,在各类管理系统中具有重要的作用和地位。本章将通过数据报表设计器(Data Report Designer)、图表、直接编程打印、利用Microsoft Excel和Microsoft Word等设计多种格式的报表。这些报表格式是比较典型的报表形式,在实际开发中具有重要意义和作用。在本章中将介绍有图表/报表的知识。27.1 图 表 技 术在实际编程过程中,有时需要将查询统计出来的数据用以图表的形式显示出来。VB中提供了一个图表控件,使用该图表控件可以很方便地将数据以图表的形式显示统计出来。在本节中将介绍一些有关图表的知识。
2、27.1.1 图表控件概述图表控件(MSChart)是可以按照一定的规范将数据以图表的形式绘制出来。其绘制的数据源可以是动态数据,也可以存储数据中数据库中的数据、电子表格的数据等存储介质的数据。可通过在控件的属性页中设置数据来创建图表,或者也可以从其他数据源为控件对象设置数据。MSChart控件主要支持真三维表示,支持所有主要的图表和图形类型。由于MSChart控件不是标准控件,要使用MSChart控件必需要将MSChart控件添加到控件工具箱中。添加MSChart控件的方法为选择工程|部件命令,在出现的部件对话框中选择Microsoft MSChart Controls 6.0(SP4)选项
3、并单击确定按钮。这时候MSChart控件就被添加到VB的控件工具箱中。27.1.2 图表控件的基本属性(1)设置MSChart控件对象的名称、大小、图表的标题、图表的页眉、图表的脚注、图表的行列数等,可通过设置MSChart控件的一些属性来完成。MSChart控件的基本属性如表27-1所示。表27-1 MSChart控件的基本属性编号属 性功 能 简 述1ActiveSeriesCount根据MSChart控件对象中的列数与绘制的图表类型返回图表中显示的系列数2AllowDithering返回/设置一个数值,该数值决定是否禁止八位彩色显示器上,图表的颜色抖动,以便使用MSChart控件自身的彩
4、色调色板来增强图表的显示续表编号属 性功 能 简 述3AllowDynamicRotation返回/设置一个数值,它指示是否在按下Ctrl键显示旋转光标之后就可交互式地旋转三维图表4AllowSelections返回/设置一个数值,它指示是否可以选择图表对象5AllowSeriesSelection返回/设置一个数值,它指出在单击单个的图表数据点时是否可选定整个系列6AutoIncrement返回/设置一个数值,它决定在输入数据期间,那些设置当前数据点的属性值是否能不用人工设置Column和Row属性而自动递增7Backdrop返回对Backdrop对象的引用,它描述在图表或图表元素后面的阴影
5、、图案或图片8BorderStyle返回/设置MSChart控件对象的边框样式9Chart3d返回一个数值,此数值指定MSChart控件对象中的图表是否为三维 图表10ChartData返回/设置一个数组,该数组包含将要被该图表显示的值11ChartType返回/设置用于显示图表的图表类型12Column返回/设置数据网格中当前的数据列13ColumnCount返回/设置与图表关联的当前数据网格中的列数14ColumnLabel返回/设置与图表数据网格中的列关联的标签文本15ColumnLabelCount返回/设置与图表关联的数据网格中的列的标签级别数16ColumnLabelIndex返回
6、/设置与图表关联的特定列标签的级别17Container返回/设置Form上控件的容器18Data返回/设置被插入图表数据网格中的当前数据点的数值19DataBindings返回DataBindings集合对象,该对象包含了有用的可绑定属性20DataGrid返回DataGrid对象的引用,它描述与图表关联的数据网格21DataMember在数据提供程序提供的几个数据成员中,返回或者设置特定的一个22DataSource返回/设置一个数据源,通过该数据源将一个数据使用者绑定到一个数据库23DoSetCursor返回/设置一个数值,它指示图表是否能设置光标24DragIcon返回/设置一个图标,
7、它表示在MSChart控件对象上进行拖放操作中将作为指针显示25DrawMode返回/设置一个数值,它决定什么时候以及如何重绘图表26Enabled返回/设置一个值,该值用来确定一个窗体或控件是否能够对用户产生的事件作出反应27Footnote返回对Footnote对象的引用,它提供关于注释图表所用的描述性文字信息28FootnoteText返回/设置用作脚注的文本29Height返回/设置MSChart控件对象的高度30HelpContextID返回或设置MSChart控件对象一个相关联上下文的编号31hWnd返回MSChart控件对象的句柄32Index返回/设置数,它唯一指定集合中的对象
8、33Left返回/设置对象内部的左边与它的容器的左边之间的距离续表编号属 性功 能 简 述34Legend返回对Legend对象的引用,它包含有关小图标的外观及其描述图表系列的伴随文字的信息35MousePointer返回/设置一个值,该值指定运行时当鼠标位于对象的特定部分时应显示的鼠标光标类型36Name返回/设置MSChart控件对象的名称37OLEDragMode返回/设置是由部件还是由程序员来处理OLE拖放操作38OLEDropMode返回/设置目标部件如何处理放操作39Parent返回包含控件或其他对象或者集合的窗体、对象或集合40Plot返回对Plot对象的引用,该对象描述图表的绘
9、制区域41RandomFill该属性指定是否随机产生图表数据网格的数据42Repaint返回/设置值,该值决定图表被改变后是否重绘MSChart控件43Row返回/设置与图表关联的数据网格中当前列的指定行44RowCount返回/设置与图表关联的数据网格每一列的行数45RowLabel返回/设置一个数据标签,该标签用来标识图表中的当前数据点46RowLabelCount返回/设置与图表关联的数据网格行标签的级别数47RowLabelIndex返回/设置描述行标签级别的值48SeriesColumn返回/设置当前系列数据列位置49SeriesType返回/设置用于显示当前系列的类型50ShowL
10、egend返回/设置一个决定图表的图例是否可见的值51Stacking设置一个决定图表的所有系列是否叠加放置的值52TabIndex返回/设置父窗体中大部分对象的Tab键次序53TabStop返回/设置一个值,该值用来指示是否能够使用Tab键来将焦点从一个对象移动到另一个对象54Tag返回/设置一个表达式用来存储程序中需要的额外数据55TextLengthType返回/设置一个值,该值指定文本的显示方式如何优化文本在屏幕或打印机上的输出效果56Title对Title对象的引用,该对象描述图表的标题文本57TitleText返回/设置作为图表标题而显示的文本58Top返回/设置对象的内顶部和它的
11、容器的顶边之间的距离59Visible返回/设置一个值,它判断是否显示图表元素60Width返回/设置MSChart控件对象的宽度下面将介绍MSChart控件中一些常用的属性。1是否允许控件的颜色抖动要设置控件是否允许颜色抖动,要以通过控件的AllowDithering属性来完成。AllowDithering属性用于返回或设置一个值,该数值决定是否禁止八位彩色显示器上,图表的颜色抖动,以便使用MSChart控件自身的彩色调色板来增强图表的显示。AllowDithering属性的语法如下:Object.AllowDithering=Boolean AllowDithering属性的语法说明:Ob
12、ject:必需的参数,取值为一个对象表达式,其值是MSchart控件对象的名称。Boolean:必需的参数,取值为一个布尔表达式,其值用来指定是否允许颜色抖动,其常用取值为True或False。如果取值为True表示允许颜色抖动。如果取值为False表示MSChart控件的彩色调色板实现增强的彩色匹配和显示。系统默认值为False。下面代码将设置控件对象MSChart1允许中的图表颜色抖动。MSChart1.AllowDithering=True 源文档 27.1.2 图表控件的基本属性(2)2是否允许动态旋转图像是否可以让控件中的图像旋转,可以通过控件的AllowdynamicRotatio
13、n属性来设置。AllowdynamicRotation属性用于返回或设置一个值,它指示是否在按下Ctrl键显示旋转光标之后就可交互式地旋转其三维图表。AllowdynamicRotation属性的语法如下:Object.AllowDynamicRotation=Boolean Boolean参数取值为一个布尔表达式,其值用来指定是否允许动态旋转图像,其常用取值为True或False。如果取值为True表示可以使用光标交互式旋转图表。如果取值为False表示不能使用光标交互式旋转图表。系统默认值为True。3是否允许选择控件中的图表设置控件中的图表是否允许被选择,可以通过控件的AllowSele
14、ctions属性来设置。AllowSelections属性用于返回或设置一个值,用来指示是否可以选择图表对象。AllowSelections属性的语法如下:Object.AllowSelections=Boolean Boolean参数取值为一个布尔表达式,其值用来指定是否可选择图表中的对象,其常用取值为True或False。如果取值为True表示控件可以交互式地选择图表对象。如果取值为False表示控件不能选择图表对象。系统默认值为True。4是否允许控件选定整个系列要设置控件是否可以选择整个系列,可以通过控件的AllowSeriesSelection属性来设置。AllowSeriesSel
15、ection属性用于返回或设置一个值,它指出在单击的图表单个数据点时是否可选定整个系列。AllowSeriesSelection属性的语法如下:Object.AllowSeriesSelection=Boolean Boolean参数取值为一个布尔表达式,其值用来指定是否可选定系列,其常用取值为True或False。如果取值为True,表示可以单击数据点选定整个系列。如果取值为False表示单击数据点时仅选定该数据点而不选定整个系列。系统默认取值为True。5设置显示三维图表要设置控件中显示的图表是否为三维图表,可以通过控件的Chart3d属性来设置。Chart3d属性用于返回一个值,该值指定
16、图表是否为三维图表。Chart3d属性的语法如下:Object.Chart3D=Boolean Boolean参数取值为一个布尔表达式,其值用来指定控件是否显示三维图表。其常用取值为True或False。如果取值为True,表示控件中的图表是三维图表。如果取值为False表示控件中的图表不是三维图表。说明:其显示的图表是否为三维还要取决于控件的ChartType属性取值。6设置控件图表的数据设置控件显示图表的数据,可通过控件的ChartData属性来设置。ChartData属性用于返回或设置一个数组,该数组的值将要被控件作为图表显示在控件上。ChartData属性的语法如下:Object.Ch
17、artData=Data Data参数取值为一个变体型数值、二维数组,其值包含用来绘制图表的数据。下面的代码表示根据数组myData中数组元素值,在MSChart控件对象绘制出图形,其代码如下:Private Sub Form_Load() Dim myData(2, 2) myData(0, 1) = 第一季度 设置第一列的标签 myData(0, 1) = 第二季度 设置第二列的标签 myData(1, 2) = 82 数组元素赋值 myData(1, 2) = 130 myData(2, 2) = 145 数组元素赋值 myData(2, 2) = 120 MSChart1.ChartD
18、ata = myData 将数组myData赋给控件MSChartl End Sub 以上代码就是将数组myData赋给控件对象MSChart1,控件对象MSChart1根据数组中的值在控件中绘制出相应的图形来,数组myData的存储类型为变体型。说明:如果某个多维数组的第一列包含字符串,则这些字符串将成为图表的标签。7设置控件图表显示的类型设置控件图表显示的类型,可通过控件的ChartType属性来设置。ChartType属性用于返回或设置用于显示图表的图表类型。ChartType属性的语法如下:Object.ChartType=Type Type参数取值为一个常数,其值表示图表的类型,常用
19、取值如表27-2所示。表27-2 ChartType属性的取值常 数描 述VtChChartType3dBar表示图表的类型为3D条形图VtChChartType2dBar表示图表的类型为2D条形图VtChChartType3dLine表示图表的类型为3D折线图续表常 数描 述VtChChartType2dLine表示图表的类型为2D折线图VtChChartType3dArea表示图表的类型为3D面积图VtChChartType2dArea表示图表的类型为2D面积图VtChChartType3dStep表示图表的类型为3D阶梯图VtChChartType2dStep表示图表的类型为2D阶梯图V
20、tChChartType3dCombination表示图表的类型为3D组合图VtChChartType2dCombination表示图表的类型为2D组合图VtChChartType2dPie表示图表的类型为2D饼图VtChChartType2dXY表示图表的类型为2D XY散点图下面代码将设置控件对象MSChart1中图表显示的类型设置为2D条形图,其代码如下:MSChart1.ChartType= VtChChartType2dBar 源文档 27.1.2 图表控件的基本属性(3)8设置控件的数据列要设置控件中的当前数据列和数据列的总数,可以通过控件的Column属性和ColumnCount
21、属性来完成。Column属性用于返回或设置数据网格中当前的数据列。ColumnCount属性用于返回或设置与图表关联的当前数据网格中的总列数。Column属性和ColumnCount属性的语法如下:Object.Column=Col Object.ColumnCount=Count Column属性和ColumnCount属性的语法说明:Col:取值为一个整型表达式,其值表示当前所操作的数据列。Count:取值为一个整型表达式,其值表示图表中的总列数。下面代码将设置控件对象MSChart1中总的列数设置为3、当前列设置1,其代码如下:MSChart1.ColumnCount=3 总的列数 MS
22、Chart1.Column=1 当前列 说明:Column属性主要用来设置当前列的标签。9设置控件的列标签设置控件中有关图表的列标签可以通过控件的ColumnLabel属性、ColumnLabelCount属性、ColumnLabelIndex属性来设置。ColumnLabel属性用于返回或设置与图表数据网格中的列关联的标签文本。ColumnLabelCount属性用于返回或设置与图表关联的数据网格中的列的标签级别数。ColumnLabelIndex属性用于返回或设置与图表关联的特定列标签的级别。ColumnLabel属性、ColumnLabelCount属性、ColumnLabelIndex
23、属性的语法如下:Object.ColumnLabel=Text object.ColumnLabelCount=Count Object.ColumnLabelIndex=Index ColumnLabel属性的语法说明:Text:取值为一个字符串表达式,其值表示与数据网格中的列相关联的标签文本。Count:取值为一个整型表达式,其值表示列标签级别数。此属性以添加或删除数据网格列上的标签级别。Index:取值为一个整型表达式,其值用来标识列标签级别。下面代码将设置控件对象MSChart1中第3列的列标签为教育,其代码如下:MSChart1.ColumnLabelIndex =3 设置当前操作的
24、列 MSChart1.ColumnLabel =教育 当前列的标题 10当前数据点设置控件中显示图表的数据,可以通过控件的Data属性来指定。Data属性用于返回或设置被插入图表数据网格中的当前数据点的数值。Data属性的语法如下:Object.Data=Value Value参数取值为一个整型表表达方式,其取值表示数据点数值。如果当前数据点已经包含数据,则新数据将代替原有数据。控件则会重新绘制图表以反映当前数据点的新数值。下面代码将设置控件对象MSChart1第一列、第二行的值,其值来源于数组myData中对应的数组元素值赋给控件中的当前数据点,其代码如下:MSChart1.Column =
25、 1 设置当前操作的列 MSChart1.Row = 2 设置当前操作的行 MSChart1.Data=myData(2,1) 第一行第二列的数据 11设置控件中图表的光标设置鼠标经过控件中的图表区是否显示光标,可通过控件的DoSetCursor属性来设置。DoSetCursor属性用于返回或设置一个数值,它指示图表是否能设置光标。DoSetCursor属性的语法如下:Object.DoSetCursor=Boolean Boolean参数取值为一个布尔表达式,其值用来指定是否使用自定义文本,其常用取值为True或False。如果取值为True表示应用程序可控制鼠标指针的外观。如果取值为Fal
26、se表示应用程序不能控制鼠标指针的外观。系统默认取值为True。DoSetCursor属性决定应用程序是否能够控制鼠标指针的外观。12设置控件中图表的脚注要设置控件中图表的脚注信息可以能过控件的Footnote属性、FootnoteText属性来设置,Footnote属性用于返回对Footnote对象的引用,它提供注释图表所用描述文字信息。FootnoteText属性用于返回或设置用作脚注的文本。Footnote属性、FootnoteText属性的语法如下:Object.Footnote Object.FootnoteText=Text Text参数取值为一个字符串表达式,其值用来指定脚注信息
27、。下面将设置控件对象MSChart1中图表的脚注设置成说明:第一季度销售额万元、第二季度销售额为万元、平均销售额为万元,代码如下:MSChart1.FootnoteText = 说明:第一季度销售额万元、第二季度销售额为万元、平均销售额为万元还可以设置脚注的字体样式、颜色、大小等。源文档 27.1.2 图表控件的基本属性(4)13是否允许重绘当控件图表中的值被改变后是否自动重绘控件。可以通过控件的Repaint属性来设置。Repaint属性用于返回或设置值,该值用来决定图表被改变后是否重绘MSChart控件对象。Repaint属性的语法如下:crosoft Windows Common Con
28、trols-2 6.0选项并单击确定按钮。这时候Animation控件就被添加到VB的控件工具箱中。Object.Repaint=Boolean Boolean参数取值为一个布尔表达式,其值决定是否重绘该图表,其常用取值为True或False。如果取值为True表示重绘控件。如果取值为False表示当图表被改变后,不允许重绘该控件。系统默认取值为True。14设置控件的数据行设置控件有关数据行的值,可通过控件的Row属性、RowCount属性来设置。Row属性用于返回或设置与图表关联的数据网格中当前列的指定行。RowCount属性用于返回或设置与图表关联的数据网格每一列的行数。Row属性、Ro
29、wCount属性的语法如下:Object.Row=Num Object.RowCount=Count Row属性、RowCount属性的语法说明:Num:取值为一个整型表达式,其值表当前操作的行号。行的编号按从上至下的顺序,下标是从1开始。Count:取值为一个整型表达式,其值表示图表中总的行数。下面代码将设置控件对象MSChart1的总行数设为3、当前操作行设为2。MSChart1.RowCount= 3 设置总的行数 MSChart1.Row = 2 设置当前操作的行 15设置控件的行标签获得或设置控件有关数据行的值可以通过控件的RowLabel属性、RowLabelCount属性、RowLabelIndex属性来设置。RowLabel属性用于返回或设置一个数据标签,该标签用来标识图表中的当前数据点。RowLabelIndex属性用于返回或设置描述行标签级别的值。RowLabelCount属性用于返回或设置与图表关联的数据网格行标签的级别数。RowLabel属性、RowLabelCount属性、RowLabelIndex属性的语法如下:Object.RowLabel=Text Object.RowLabelCount=Count Object.RowLabelIndex=Index RowLabel属性、RowLabel
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1