Microsoft Office 2000一个新的令人振奋的特性就是它提供了Office Web Components (OWC,一组用于创建动态Web文档的ActiveX控件)。OWC包括六个控件,实现了Excel的部分功能并提供了数据库存取功能,它们是ChartSpace、Spreadsheet、DataSourceControl、RecordNavigationControl、ExpandControl和Pivot-Table。DataSourceControl和RecordNavigationControl控件提供了数据库存取功能,它们可以用ADOExpress控件来替代。 ExpandControl本文将不涉及,有兴趣的朋友可自行研究。要想使用这些ActiveX控件需要引入相应的类型库(当然如果是后期绑定就不需要),选择菜单命令Project | Import Type Library,然后在弹出的对话框选择Microsoft Office Web Components 9.0 (Version 1.0),确认选中了Generate Component Wrapper选项(Delphi5中支持),然后点击Install按钮,六个组件就被加到了组件面板上。
类型库文件定义在MSOWC.DLL文件中,位于/Program Files/Microsoft Office 2000/Office目录下。帮助文件为MSOWCVBA.CHM,位于/Program Files/Microsoft Office 2000/Office/1033。
ChartSpace组件
ChartSpace是用来创建图表的,它支持46 种图表,从线型到Doughnut Exploded型,详细类型参见帮助中的ChartChartTypeEnum 参数列表。它支持多种数据源,比如其他OWC控件,像Spreadsheet控件,ADO数据源或静态数据。
1. 基于静态数据的图表
在Delphi中我们可以把静态数据储存在Variant数组中,数组可以使用VarArraycreate 函数创建,也可以使用VarArrayOf函数创建动态的Variant数组。下面的代码演示了如何创建并赋值给一个静态Variant数组。
var
XValues : Variant;
...
//创建Variant数组
XValues := VarArraycreate([0,2], varVariant);
//加载X轴数据
XValues[0] := 'Element one';
XValues[1] := 'Element two';
XValues[2] := 'Element two';
VarArraycreate 的两个参数用于指定数组的维数和项目类型,在上面的例子中我们创建了Variant类型的有三个项目的数组。下面的代码则演示了如何用VarArrayOf 函数创建一个一维Variant类型的数组:
VarArrayOf([104737, 50952, 78128, 117797, 52902, 80160, 47491, 62435]);
图1.18
使用ChartSpace控件包括几个步骤:首先,需要清除图表已有的内容;随后,添加一个新的图表对象到图表集合中(集合最多允许有16个图表);然后,就可以为图表提供数据(Series集合),设定标题(Title 属性),指定坐标轴(Axes 集合)和设定插图(Legend 属性)。图1.18显示了一个简单的ChartSpace控件的类体系关系。
下面给出一个例子演示如何使用静态数据创建图表,首先我们需要设定一些变量:
var
Chart : WCChart; // 图表
Series : WCSeries; // Series
XValues : Variant; // X轴值
清空图表原有内容。
ChartSpace1.Clear;
ChartSpace1.Refresh;
创建新的图表,因为这是图表集合中第一个图表,它的索引为0。
Chart := ChartSpace1.Charts.Add(0);
设定图表标题。
Chart.HasTitle := True; //说明图表有标题
Chart.Title.Caption := 'Sales By Category';
然后就是提供数据了,先创建X轴的值,这里使用静态Variant数组作为数据源。
XValues := VarArraycreate([0,7], varVariant);
XValues[0] := 'Beverages';
XValues[1] := 'Condiments';
XValues[2] := 'Confections';
XValues[3] := 'Dairy Products';
XValues[4] := 'G
类型库文件定义在MSOWC.DLL文件中,位于/Program Files/Microsoft Office 2000/Office目录下。帮助文件为MSOWCVBA.CHM,位于/Program Files/Microsoft Office 2000/Office/1033。
ChartSpace组件
ChartSpace是用来创建图表的,它支持46 种图表,从线型到Doughnut Exploded型,详细类型参见帮助中的ChartChartTypeEnum 参数列表。它支持多种数据源,比如其他OWC控件,像Spreadsheet控件,ADO数据源或静态数据。
1. 基于静态数据的图表
在Delphi中我们可以把静态数据储存在Variant数组中,数组可以使用VarArraycreate 函数创建,也可以使用VarArrayOf函数创建动态的Variant数组。下面的代码演示了如何创建并赋值给一个静态Variant数组。
var
XValues : Variant;
...
//创建Variant数组
XValues := VarArraycreate([0,2], varVariant);
//加载X轴数据
XValues[0] := 'Element one';
XValues[1] := 'Element two';
XValues[2] := 'Element two';
VarArraycreate 的两个参数用于指定数组的维数和项目类型,在上面的例子中我们创建了Variant类型的有三个项目的数组。下面的代码则演示了如何用VarArrayOf 函数创建一个一维Variant类型的数组:
VarArrayOf([104737, 50952, 78128, 117797, 52902, 80160, 47491, 62435]);
图1.18
使用ChartSpace控件包括几个步骤:首先,需要清除图表已有的内容;随后,添加一个新的图表对象到图表集合中(集合最多允许有16个图表);然后,就可以为图表提供数据(Series集合),设定标题(Title 属性),指定坐标轴(Axes 集合)和设定插图(Legend 属性)。图1.18显示了一个简单的ChartSpace控件的类体系关系。
下面给出一个例子演示如何使用静态数据创建图表,首先我们需要设定一些变量:
var
Chart : WCChart; // 图表
Series : WCSeries; // Series
XValues : Variant; // X轴值
清空图表原有内容。
ChartSpace1.Clear;
ChartSpace1.Refresh;
创建新的图表,因为这是图表集合中第一个图表,它的索引为0。
Chart := ChartSpace1.Charts.Add(0);
设定图表标题。
Chart.HasTitle := True; //说明图表有标题
Chart.Title.Caption := 'Sales By Category';
然后就是提供数据了,先创建X轴的值,这里使用静态Variant数组作为数据源。
XValues := VarArraycreate([0,7], varVariant);
XValues[0] := 'Beverages';
XValues[1] := 'Condiments';
XValues[2] := 'Confections';
XValues[3] := 'Dairy Products';
XValues[4] := 'G