苏州哪里能买到好真丝:(!!!)MSChart控件的属性与属性对话框

来源:百度文库 编辑:九乡新闻网 时间:2024/04/27 23:47:38
MSChart控件的属性与属性对话框
1、MSChart控件的属性
(1)ChartType属性:用于设置或返回图表类型,MSChart控件图表类型与对应ChartType属性值如表8.7所示。如,ChartType=1则显示二维直方图,ChartType=14则显示饼图。
  表8.7 MSChart图表类型
(2)行(格)属性
① RowCount属性:用于表示图表中总格(行)数。例如:
若MSChart控件显示二维数组Array_2(M,N),则总格(行)数RowCount=M。
如:RowCount=5,表示有5格(行)数据。
若MSChart控件显示一维数组Array_1(N)的元素值,则总行数RowCount=1。
② Row属性:用于表示图表中某格(行)的序号。
若MSChart控件显示二维数组Array_2(M,N),则图表中第I格的序号Row=I,当Row=1表示第1格(行)数据。
③ RowLabel属性:用于表示格(行)标签名,默认值为Ri。用户可以修改其值,如改为无锡地区人数、南京地区人数等。
④RowLabelCount属性:用于表示格(行)标签数,MSChart控件允许设置多个格(行)标签。通常取值为1,当需要用2行以上的标签时,才修改此属性。
⑤ RowLabelIndex属性:用于表示格(行)标签序号,用户通过设置不同格(行)标签序号选择不同格(行)标签进行编辑。
(3)列属性
①ColumnCount属性:用于表示图表中每格(行)中的列数,即数组中列数N。如设置ColumnCount=3,则每格(行)中有3列,图表每数据格用3个矩形或3个扇形表示。
② Column属性:用于表示图表中某格(行)某列的列序号,例如:
Row=1,Column=1,表示图表中第1格(行)第1列。
③ ColumnLabel属性:用于表示图表列标签名,默认为Ci。
④ ColumnLabelCount属性:用于表示图表某格中的列标签数。
⑤ ColumnLabelIndex属性:用于表示图表某格中的列标签序号。
(4)Data属性
Data属性用于表示图表中由数据格(行)序号Row与列序号Column所指定值,即数组Array_2(Row,Column)的值。用户可修改其值。例如在MSChart1的属性框内:
设置Row=1,Column=1,Data=60,表示将图表中第1个数据格(行)中第1列的矩形高度改为60。
(5)图例属性:是MSChart控件用于说明图表中列值含义而设置的一个图形,通常图例内容包含列的颜色图标与标签名。以便使用户能知道图表中每列的含义。图例的主要属性如下。
① ShowLegend属性:为True时显示图例,为False时不显示图例。
② Legend属性:用于设置图例字体等内容。
(6)TitleText属性:用于表示图表标题,如TitleText=”一维数组图表示例”。
(7)ChartData属性:用于设置或返回一个数组,该数组包含图表要显示的数据值。
例如:ChartData=Array_2,表示MSChart将显示二维数组的元素值。
说明:
如果是多维数组或数据表,且其第一列(或第一个字段)为字符串,则第一列(或第一个字段)被用作图表的行标签。
【例8.7】用MSChart控件显示一维数组的图表示例。
定义一维整型数组Array_1(1 To 10),用直方图与饼图两种方式显示Array_1中的数据图表,如图8.13(a)与8.13(b)所示。
新建一个工程(ex8_8.vbp),窗体名为Form_ex88.frm。在部件中选择Microsoft ChartControls 6.0(OLEDB),将数据图表控件MSChart1添加到窗体内,再添加由两个命令按钮组成的控件数组Command1(2),分别用于显示直方图与饼图。双击命令按钮输入如下事件处理程序。
Private Sub Command1_Click(Index As Integer)
With MSChart1
Dim I As Integer
Dim Array_1(1 To 10) As Integer
For I = 1 To 10
Array_1(I) = I
Next I
.ChartData = Array_1                     '将一维数组赋给MSChart控件
.TitleText = "一维数组图表示例"
.ShowLegend = True'显示图例
If Index = 0 Then
.chartType = 1                       '以直方图形式显示一维数组元素值
ElseIf Index = 1 Then
.chartType = 14                       '以饼图形式显示一维数组元素值
End If
For I = 1 To 10
.Plot.SeriesCollection(I).LegendText = "Y" &I      '图例中列标签名赋值
Next I
End With
End Sub
程序运行后,分别单击直方图按钮与饼图按钮,屏幕显示如图8.13(a)、(b)所示。
      图8.13(a)一维数组直方图显示         图8.13(b)一维数组饼图显示
【例8.8】用MSChart控件显示二维数组的图表示例。
定义5行5列的二维变体类型数组Array_2(1 To 5,1 To 5),用直方图与饼图两种方式显示Array_2中的数据图表。
新建一个工程(ex8_9.vbp),窗体名为Form_ex89.frm。在部件中选择Microsoft ChartControls 6.0(OLEDB),将数据图表控件MSChart1添加到窗体内,再添加由三个命令按钮组成的控件数组Command1(3),分别用于显示直方图、饼图与折线图。双击命令按钮输入如下事件处理程序。
Private Sub Command1_Click(Index As Integer)
With MSChart1
Dim I As Integer
Dim Array_2(1 To 5, 1 To 5) As Variant
For I = 1 To 5
Array_2(I, 1) = "A(" & I &")"      ‘数组第1列为字符串时,将作为行标签使用
Array_2(I, 2) = I
Array_2(I, 3) = I * 2
Array_2(I, 4) = I * 3
Array_2(I, 5) = I * 4
Next I
.ChartData = Array_2‘将二维数组赋给MSChart控件
.TitleText = "二维数组图表示例"‘MSChart控件标题赋值
.ShowLegend = True‘显示图例
If Index = 0 Then
.chartType = 1‘以直方图形式显示二维数组元素值
ElseIf Index = 1 Then
.chartType = 14‘以饼图形式显示二维数组元素值
Else
.chartType = 3‘以折线图形式显示二维数组元素值
End If
For I = 1 To 5 – 1‘除去标签首列外,还有5-1=4列
.Plot.SeriesCollection(I).LegendText = "Y" & I‘图例中标签名赋值
Next I
End With
End Sub
程序运行后,分别单击直方图按钮、饼图按钮与折线图按钮,屏幕显示如图8.14(a)、(b)、(c)所示。
 图8.14(a)二维数组直方图表示      图8.14(b) 二维数组饼图表示 
图8.14(c)二维数组折线图表示
2、MSChart控件的属性对话框
MSChart控件的属性也可用其属性对话框来设置。用鼠标右击MSChart1,在弹出式菜单中单击属性,则出现属性对话框,如图8.15所示。下面分别介绍对话框各选项卡中的属性。
1、图表选项卡
(1)图表类型
在图表类型框中,用户可选择不同的图形,如条(直方图)、线(曲线图)、区域、步骤、组合、饼图、XY散点图等。还可选择二维平面图形或三维立体图形。
(2)图表选项
在图表选项框中,用户可选择下列四个复选框有效或无效。
显示图例:图例是对图表中每种图形颜色所表示含义的说明;
显示标记:显示标记是图表中每种图形的标记;
叠置系列:叠置系列是将图表中每种图形叠加在一起;
按行系列:对二维数组的行与列互换,即以列Ci为数据格,以行Ri为每数据格中数据值。
 图8.15MSCHart控件的属性设置对话框
2、轴选项卡
(1)选择X轴
显示刻度:复选框有效,显示行标签(如R1、R2等)。复选框无效,不显示行标签;
自动缩放:复选框有效,图形随控件自动缩放。复选框无效,手工设置标签间隔与刻度间隔。
(2)选择Y轴
显示刻度:复选框有效,显示Y轴刻度值(如0、20、40等)。
自动缩放:复选框有效,图形随控件自动缩放。复选框无效,手工设置Y轴最小值、最大值、主要间隔和次要间隔值。
3、轴网格选项卡
该选项卡用于设置X轴与Y轴方向的主网格行与次网格行的样式、宽度与颜色。
4、序列选项卡
在序列选项卡中,用户可隐藏序列、排除序列、显示标记等。
5、序列颜色选项卡
在序列颜色选项卡中,用户可选择序列的颜色、样式与图案等。
6、文本选项卡
可填写图表标题、脚注、X轴说明、Y轴说明,例如在图表标题、X轴说明、Y轴说明栏中分别填写“班级生源统计图表”、“X轴”、“Y轴”。并将Y轴方向改为水平方向。
7、字体选项卡
可设置图表标题、脚注、X轴标签、Y轴标签的字体、大小与颜色等。如图表标题的字体为14号粗楷体,墨绿色
【例8.9】要求统计某个班级不同地区学生人数,并用直方图、饼图两种图表显示统计结果。假设某班学生统计结果如表 8.8所示。


表8.8 学生地区生源统计表
程序设计步骤如下:
(1)新建一个工程(ex8_9.vbp),窗体名为Form_ex89.frm。
(2)在部件中选择Microsoft Chart Controls 6.0 (OLEDB),将数据图表控件MSChart1添加到窗体内,再添加由二个命令按钮组成的控件数组Command1(2),分别用于显示直方图、饼图。
(3)用鼠标右键单击MSChart1控件,打开MSChart1的属性对话框,设置属性如下。
选择图表选项卡,使“显示图例”、“按行系列”复选框有效。
选择文本选项卡,在标题、X轴标题、Y轴标题栏中分别填写“班级生源统计图表”、“X轴”、“Y轴”。将Y轴方向改为水平方向。
选择字体选项卡,设置标题的字体为14号墨绿色粗楷体,加下划线。
(4)表8.8中第1列(地区名)为字符串,可以作为列标签,第2列为各地区学生人数,可作为列值。因此,图表实际只有一个数据格,该数据格共11列。将 地区与人数赋给二维数组Array_2,并将Array_2赋给MSChart1. ChartData属性。则MSChart控件可显示班级学生生源统计图表。
(5)双击命令按钮输入如下事件处理程序。
Option Base 1
Private Sub Command1_Click(Index As Integer)
Dim A As Variant, B As Variant
A = Array(5, 7, 8, 3, 5, 8, 3, 1, 2, 1, 6)
B = Array("南京", "无锡", "徐州", "扬州", "盐城", "淮阴", "连云港", "南通", "苏州", "常州", "镇江")
With MSChart1
Dim I As Integer
Dim Array_2(1 To 11, 1 To 2) As Variant
For I = 1 To 11
Array_2(I, 1) = B(I)        '将地区名赋给数组的第1列
Array_2(I, 2) = A(I)        '将各地区名学生人数赋给数组的第2列
Next I
.ChartData = Array_2         '将数组名赋给ChartData属性
.TitleText = "班级生源统计图表"    '设置统计图表标题
.ShowLegend = True           '使图例有效,即显示图例
If Index = 0 Then           '当按“直方图”按钮则显示直方图统计表
.chartType = 1
ElseIf Index = 1 Then         '当按“饼图”按钮则显示饼图统计表
.chartType = 14
End If
End With
End Sub
程序执行后可显示出班级生源地区分布统计图表,如图8.16所示。

图8.16 班级生源统计图表
【例8.10】在学生档案管理系统工程(xsdagl.vbp)中增加《生源地区分布统计图表》子窗体,如图8.17所 示。要求用TreeView控件选择系部与班级,单击班级后显示该班地区生源分布图表。
1.设计要求
(1)程序界面由工具栏、选择系部与班级的树形控件、生源分布图表区组成;
(2)该程序要能由系选择班级,由班级显示地区生源分布图表;
(3)工具栏中放置“退出”按钮;
(4)在图表下方放置三个命令按钮,能以直方图、饼图两种方式显示统计结果。
(5)程序界面设计如图8.17所示。
2.设计步骤
(1)界面设计
观看视频
(2)程序设计
①单击树形控件结点事件过程
Private Sub TreeView_TB03_NodeClick(ByVal Node As MSComctlLib.Node)
With Adodc_XA01
.CommandType = adCmdText
.RecordSource = "Select GC0202,Count(*) From XA01,GC02,TB03 " & _‘分地区统计学生人数
"Where XA0109 = GC0201 and XA0114=TB0301 " &_
" and TB0302='" & TreeView_TB03.SelectedItem.text & "'" & _
"Group By GC0202"
.Refresh
End With
With MSChart_XA01
Set .DataSource = Adodc_XA01.Recordset'将学生档案统计表数据集赋给DataSource属性
.TitleText = TreeView_TB03.SelectedItem.text & "班级生源统计图表"
.ShowLegend = True
End With
End Sub
②在窗体内添加命令按钮数组Command1(2),分别用于直方图、饼图显示。
单击按钮的事件过程如下。
Private Sub Command1_Click(Index As Integer)
With MSChart_XA01
Set .DataSource = Adodc_XA01.Recordset'将学生档案统计表数据集赋给DataSource属性
.TitleText = TreeView_TB03.SelectedItem.text & "班级生源统计图表"
.ShowLegend = True
If Index = 0 Then
.chartType = 1
ElseIf Index = 1 Then
.chartType = 14
End If
End With
End Sub
程序运行后的界面如图8.17(a)、(b)所示。

图8.17(a)班级生源统计图表(直方图)

图8.17(b)班级生源统计图表(饼图)