图库的使用

元件的变形

自定义属性

按钮

闪烁信号灯

编辑选中的图形

动态创建图形

可移动标签

定义连接点

读写图形属性

编辑线条顶点

调用Windows API函数

调用Visual Graph函数

脚本回调控件的事件

运行状态鼠标拖动图形

表格

明细式报表

制作对话盒

制作菜单

工具栏的使用

使用WEB数据库

ActiveX在VC6中的使用

ActiveX在Delphi6中使用

ActiveX在VB6中的使用

首页

下面这个例子,画面上有一张中国地图,每个省的温度、风级、天气情况都有一个小图反映出来。

而数据则来自WEB服务器上的Access数据库activex/weather.mdb中的table1,如下表:

在数据库目录下还有一个文件readdata.asp,它的作用是把数据字段组织成一个Visual Graph的脚本串,内容如下:

<%@LANGUAGE="JAVASCRIPT" CODEPAGE="936"%>
<%
var MM_data_STRING=Server.CreateObject("ADODB.Connection")
var dbpath=Server.MapPath("weather.mdb")
var ReturnStr = "";
MM_data_STRING.Open("DRIVER={Microsoft Access Driver (*.mdb)};DBQ="+dbpath)
var Recordset1 = Server.CreateObject("ADODB.Recordset");
Recordset1.ActiveConnection = MM_data_STRING;
Recordset1.Source = "SELECT * FROM table1";
Recordset1.CursorType = 0;
Recordset1.CursorLocation = 2;
Recordset1.LockType = 1;
Recordset1.Open();
Recordset1.MoveFirst();
var s = "";
while (!Recordset1.EOF)
{
s = Recordset1("chengshi")
ReturnStr = ReturnStr + s + ".风速 = '" + Recordset1("feng") + "';" + s + ".温度 = '" + Recordset1("wendu") + "';" + s + ".状态 = '" + Recordset1("zhuangtai") + "'\r\n";
Recordset1.MoveNext();
}
Recordset1.Close();
Response.write(ReturnStr);
%>

然后绘制中国地图,并且在每个省份上面放置一个刚才做好的图块。由于图块众多,为了避免拥挤,所以需要设置某些图块在画面缩小到某个比例以下时候隐藏,这是由图形的ZoomMin属性决定的。例如:如果一个图形的ZoomMin属性等于2,则只有当画面的缩放比例大于2时才能看见。

把图形文件和数据库所在目录设置成IIS的主目录。

接着在图形文件页面的OnLoad事件中添加代码:

s = GetURL( "http://www.visual-graph.com/activex/readdata.asp" )

Execute(s)

GetURL 执行一个 web 请求,返回这个请求的结果,其实是一段Visual Graph脚本语言。如下:

Beijing.温度="5℃~2℃";Beijing.风速="微风<=3级";Beijing.状态="42"
Heilongjiang.温度="10℃~-3℃";Heilongjiang.风速="北风3-4级";Heilongjiang.状态="4"
Jilin.温度="16℃~2℃";Jilin.风速="西风3-4级";Jilin.状态="42"
Liaoning.温度="5℃~2℃";Liaoning.风速="微风3-4级";Liaoning.状态="65"
Hebei.温度="19℃~5℃";Hebei.风速="微风<=3级";Hebei.状态="4"
Henan.温度="16℃~5℃";Henan.风速="微风<=3级";Henan.状态="2"
Shandong.温度="17℃~7℃";Shandong.风速="微风<=3级";Shandong.状态="75"
Shannxi.温度="10℃~-1℃";Shannxi.风速="微风<=3级";Shannxi.状态="72"
Xinjiang.温度="18℃~8℃";Xinjiang.风速="东风3-4级";Xinjiang.状态="2"
Xizang.温度="14℃~6℃";Xizang.风速="北风3-4级";Xizang.状态="52"
Qinghai.温度="15℃~9℃";Qinghai.风速="微风<=3级";Qinghai.状态="5"
Gansu.温度="13℃~-1℃";Gansu.风速="微风<=3级";Gansu.状态="2"
Sichuan.温度="18℃~10℃";Sichuan.风速="微风<=3级";Sichuan.状态="57"
Fujian.温度="17℃~12℃";Fujian.风速="微风<=3级";Fujian.状态="78"
Shanxi.温度="15℃~9℃";Shanxi.风速="微风<=3级";Shanxi.状态="7"
Chongqing.温度="21℃~15℃";Chongqing.风速="微风<=3级";Chongqing.状态="3"
Guangdong.温度="25℃~19℃";Guangdong.风速="微风<=3级";Guangdong.状态="78"
Guangxi.温度="22℃~10℃";Guangxi.风速="微风<=3级";Guangxi.状态="4"
Yunnan.温度="32℃~23℃";Yunnan.风速="微风<=3级";Yunnan.状态="2"
Jiangsu.温度="24℃~18℃";Jiangsu.风速="微风<=3级";Jiangsu.状态="7"
Jiangxi.温度="18℃~7℃";Jiangxi.风速="微风<=3级";Jiangxi.状态="26"
Zhejiang.温度="24℃~18℃";Zhejiang.风速="微风<=3级";Zhejiang.状态="23"
Neimenggu.温度="18℃~7℃";Neimenggu.风速="北风3-4级";Neimenggu.状态="3"
Taiwan.温度="32℃~23℃";Taiwan.风速="微风<=3级";Taiwan.状态="0"
Hunan.温度="32℃~23℃";Hunan.风速="微风<=3级";Hunan.状态="65"
Hubei.温度="24℃~18℃";Hubei.风速="微风<=3级";Hubei.状态="3"
Guizhou.温度="17℃~12℃";Guizhou.风速="微风<=3级";Guizhou.状态="23"
Hainan.温度="32℃~23℃";Hainan.风速="微风<=3级";Hainan.状态="3"
Ningxia.温度="24℃~18℃";Ningxia.风速="北风3-4级";Ningxia.状态="26"
Anhui.温度="32℃~23℃";Anhui.风速="微风<=3级";Anhui.状态="5"

后面的Execute(s)运行这个脚本语言,从而让图块上面的数据发生变化。

如果在画面上放上定时器,就可以实现动态刷新数据了。