中国工控网 - 中国工控网,专业工控信息服务平台 !

商业资讯: 企业新闻 | 人物专访 | 企业关注 | 专家观点 | 技术文摘 | 解决方案 | 展会新闻 | 工控知识 | 工控百科 | 产品推荐

你现在的位置: 首页 > 商业资讯 > 使用维修 > visual graph入门指导

visual graph入门指导

信息来源:gkong.biz  时间:2008-10-27  浏览次数:172

  Visual Graph安装和入门
  Visual Graph是一个ActiveX控件,因此在使用前必须先执行安装目录下的“注册控件.bat”文件。
  Visual Graph如何插入其他编程语言的过程,各种开发工具各不相同,可以参考入门手册中的相关介绍。
  在窗口创建完成后,如果调用控件的Design函数,表示绘制一张新图或者打开已有的图形文件进行编辑。如果调用控件的Run函数,表示运行一张新图或者打开已有的图形文件进入运行状态。在运行态下,鼠标无法对图形进行选中、拖动、变形等操作。但是画面上的图形可以响应鼠标事件。
  Visual Graph的鼠标事件
  下面以Delphi为例,在控件的OnClick事件里面写如下的代码,可以得到鼠标点击的图形:
  Aunit = vgctrl1.ActiveSheet.UnitAtCursor( nil );
  此处,Aunit被声明为Iunit类型,所有Visual Graph的图形都是从Iunit派生的。
  如果Aunit不等于空(nil),表示鼠标点击的图形,我们在此就可以读写该图形的各种属性,也可执行其他各种操作。例如Aunit.Id是这个图形的一个整数属性,可以读写它。
  切勿在OnClick事件里面立即执行Design或者Run等函数打开其他画面,因为此时程序尚在执行中,如果立即删除内存中的老文件,打开新文件,程序会出现严重错误。我们可以利用Windows API的PostMessage函数传递一个自定义消息给窗口,在处理这个事件的时候再打开新的图形文件不迟。
  Visual Graph没有内置“文件链接”的功能,所以需要在适当的时候自己编写Design或者Run函数打开新的文件。
  需要注意的一点是:Visual Graph是一个通用性较高的基础开发平台,并不是一个应用软件或者专门针对某种应用软件开发的控件,所以,类似“文件链接”或“文件跳转”这类只有在PowerPoint等应用软件中才会有的功能,在Visual Graph中是不会直接提供的。与此相似的是所谓的“数据绑定”,Visual Graph并不包含任何形式的“数据绑定”。
  Visual Graph的图库
  一开始要设计图库,这个工作最初可以交给打字员来完成。画好后,交给程序员。
  程序员按照每个图元的业务需求设计自定义属性,例如变压器的容量、电压等级、生产日期等信息,开关的分合可能导致颜色变化等等。自定义属性的设计,其自由度相当大,程序员如果把相关信息已经用数据库管理起来,那么就可以把图元设计得简单一点,在需要某图元的信息时,从数据库读取,而如果程序员想把信息都放在图形上,不采用数据库管理,也是可以的。在数据库设计时,推荐用图形的名称作为关键字段,因为画面上不存在相同名称的两个图形。
  关于如何在应用程序中使用图库,在source目录下有很多例程。
  Visual Graph从入门到精通
  初期,最好把Visual Graph当作控件来用,所谓“控件”,顾名思义,软件提供了很多接口方法、函数、事件,程序员可以对画面以及它上面的图形进行任何操作,例如:缩放、打印、添加、删除图形、读写图形属性等等。
  随着应用的深入,推荐把一部分界面用Visual Graph来开发,例如某些设备的属性窗口,这些属性窗口往往和图形元件紧密关联,具有一定的可变性,如果用Delphi来设计这些窗口,似乎不如用Visual Graph设计比较灵活。这样,以后更换元件设备的时候,我们的Delphi程序不用修改。此外,菜单、工具栏等也可以考虑用Visual Graph设计。
  程序既可以放在Delphi中,也可以放在Visual Graph中,尽管Visual Graph功能有限,但它可以调用Delphi的函数或过程,达到扩充功能的目的,关于这一点,可以查看帮助信息里面的介绍。
  使用Visual Graph,最关键的一点就是系统架构的设计,一个设计良好的架构,能够大大减轻开发量和以后的维护量。其实,Visual Graph只是处理了所有界面上的事情,除此之外的一切都需要程序自己写,例如Visual Graph不含数据库、通讯等功能。图形画面存储到哪里甚至如何存储,都是要由程序员设计的。既可以保存成文件,也可以保存到数据库blob字段,也可以每个图形一条数据库记录保存,程序员应自己判断优劣。

    ——本信息真实性未经中国工控网证实,仅供您参考