在Visual Graph中实现电子地图的“点”元素

Visual Graph提供了完整的显示电子地图的功能,但是由于都是隐含功能,所以不易了解,本文做一下详细的介绍。

电子地图上的基本元素是“点、线、面”,而Visual Graph的基本元素是“字、形、线”,电子地图的“面”在Visual Graph中用填充封闭的“线”来表示,那么,电子地图的“点”,如何表示呢?我们将用Visual Graph提供的“元件”来实现,在lib目录下有一个“GIS点符号.tbl”文件,这里面列举了一些常用的“点”,我们来看其中之一“SymbolAA”,源文件如下:

<SymbolAA name="SymbolAA1" origin="256,238" bounds="256,238,256,238" selectmode="1" protect="512" Caption="" Symbol="33" SymbolColor="0">
<text name="text1" origin="268.530798,240" bounds="264.530798,230,268.530798,246" locked="true" autosize="true" border="0" fontname="宋体" fontsize="12" textalign="1"/>
<line name="line1" origin="256.005389,238" points="256,238,6"/>
<text name="text2" origin="270.005389,241.5" bounds="248.005389,229,264.005389,247" locked="true" autosize="true" border="0" fontname="Wingdings" fontsize="12" text="!"/>
<programe>
<!--
property Caption read GetCaption write SetCaption
private function GetCaption()
return Text1.Text
end function
private function GetSymbolColor()
return Text2.FontColor
end function
private function Initialize(Sender)
FSymbol = 33
end function
private function SetCaption(AValue)
Text1.Text = AValue;Refresh()
end function
private function SetSymbol(AValue)
FSymbol = AValue
Text2.Text = Chr( FSymbol )
end function
private function SetSymbolColor(AValue)
Text2.FontColor = AValue
end function
property Symbol read FSymbol write SetSymbol
property SymbolColor read GetSymbolColor write SetSymbolColor editor Color
-->
</programe>
</SymbolAA>

在SymbolAA节点中,origin="256,238"表示这个点目前所在的坐标位置,bounds="256,238,256,238"表示这个点的宽度和高度都是0,SelectMode="1"表示在编辑图形的时候,这个元件没有四边的选择框(既然是点元素,当然不能有选择框了),Protect="512"表示图形“禁止缩放”,也就是当画面缩小或放大后,该点元素中的所有内容都不缩放,字体也保持大小不变。该元件有三个自定义属性,分别是“Caption”表示点元素的文字标签内容、“Symbol”表示点元素的图形符号样式,用特殊字体表示、“SymbolColor”表示图形符号的颜色。

在这个元件中,有三个图形,分别是Text1表示的文字标签、Line1表示的点元素的位置、Text2表示的图形符号。这里,Line1是只有一个顶点的线条,Text1和Text2的"Locked"属性被设置成true,这表示,SymbolAA元件的大小尺寸在计算时不包括它们,也就是说,元件的宽度和高度永远是0。 

一、Visual Graph重要文件 1.bin\ide.exe是绘图软件,您在此可以设计图库、绘制图形文件,这个软件的所有界面都是可以修改的。 2.bin\vg.dll是ActiveX控件,在许多编程语言使用,使用步骤如下: a)运行bin\registeractivex.bat注册控件到您的计算机,如果失败,以管理员身份运行cmd.exe,然后再运行regsvr32.exe bin\vg.dll注册(请不要把v.dll拷贝到windows\system32目录下)。 b)进入编程语言,在工具栏上安装COM组件Visual Graph ActiveX control(Visual Graph不能运行在WEB服务端,如果开发ASP.net,工具栏看不到这个) c)把控件拖动到画面 d)在窗口的Load事件(或Show)事件编写如下代码: vgctrl1.Design( "" )设计一个新图形文件 vgctrl1.Run( "" )运行一个新图形文件 vgctrl1.Design( vgctrl1.DefaultPath + "..\demo\电力\秦山核电站.tbl" )设计秦山核电站这张电力接线图 vgctrl1.Run( vgctrl1.DefaultPath + "..\demo\电力\秦山核电站.tbl" )是秦山核电站这张电力接线图的运行状态 接下来就可以通过程序对画面上的各种图形对象进行编程了,具体请参考入门手册 http://www.visual-graph.com/rumen.htm 3.bin\vg.chm是帮助系统 4.source目录下是csharp2010、delphi7.0、vb6.0、vc6.0使用Visual Graph ActiveX的示例 5.web目录下是互联网应用使用的cab文件打包批处理程序 6.lib目录下是若干例子图库 7.demo目录下是若干图形文件的示例 二、发布Visual Graph ActiveX时必需要包含的文件 1 : bin\vg.dll ActiveX控件 2 : bin\funcs.dll 外部函数库 3 : bin\kernel.dll 技术核心库 4 : bin\units.dll 基础图形库 5 : bin\consts.bas 启动脚本,在此可以定义一些非常重要的全局常量 6 : bin\arrows.tbl 自定义线条箭头库 7 : bin\cursors.tbl 光标库,没有这个,鼠标移动时将看不见 8 : bin\hintwindow.tbl 提示窗口,当鼠标移动到某对象时显示的那种提示窗口 9 : bin\library.tbl 基础图形的画法,包含线条的各种画法 10: bin\page.tbl 打印设置对话盒 11: bin\controls.tbl 打印设置窗口使用的控件库,包括按钮、下拉列表框、选择框等等 12: bin\patterns.tbl 图案文件 三、如果在互联网(IE)使用,需要把用到的文件打包成CAB文件,可参考web\makecab.bat里面的内容,自行增加要打包的文件,然后运行这个批处理程序,打包后的CAB文件的使用方法参见web\design.htm,自行打包的CAB文件在IE里会被拦截,请调低IE的安全等级,允许ActiveX在IE使用和运行脚本。如果想不被IE拦截,请使用我公司网站上提供的http://www.visual-graph.com/activex/vg.cab,或者自行向数字签名公司购买签名服务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值