文档库 最新最全的文档下载
当前位置:文档库 › Visual Graph 7用户手册

Visual Graph 7用户手册

Visual Graph 7用户手册
Visual Graph 7用户手册

VISUAL GRAPH 7 用户手册

目录

第1章VISUAL GRAPH简介 (1)

第2章软件特点 (2)

第3章VISUAL GRAPH的应用领域 (8)

第4章软件说明 (12)

第5章基本概念 (13)

5.1视图文件 (13)

5.2 工作区 (16)

5.3 页面编辑 (17)

5.4 信息栏 (18)

5.5 打印纸 (18)

5.6 文字单元 (19)

5.7 形状单元 (20)

5.8 折线单元 (21)

5.9 元件单元 (23)

5.10元件库 (25)

5.11调控点 (25)

5.12 箭头 (27)

5.13 图片 (27)

5.14 连接关系 (28)

5.15 文字标签 (29)

5.16 选择组 (30)

5.17单元组 (30)

5.18 工具集 (31)

5.19 Undo,Redo (32)

5.20 复制、剪裁、粘贴、删除 (32)

5.21 叠放次序 (33)

5.22 移动一组单元 (34)

5.23 调整位置与尺寸 (34)

5.24 图形旋转 (35)

5.25 坐标变换 (36)

5.26 系统颜色 (38)

5.27 元件脱壳 (39)

5.28 元件的链接和嵌入 (39)

5.29 名字命名法 (41)

5.30 图层管理 (42)

5.31 视图属性窗 (42)

5.32 函数事件窗 (43)

5.33 程序编辑窗 (43)

5.34 命令窗口 (44)

5.35 快捷键 (45)

第6章语法体系 (46)

6.1 变量类型和声明 (46)

6.2 运算符 (47)

6.3 条件表达式 (48)

6.4 初始变量 (49)

6.5 局部变量 (51)

6.6 全局变量 (52)

6.7 私有函数 (53)

6.8公用函数 (53)

6.9 引出函数 (53)

6.10 自定义属性 (54)

6.11自定义函数 (57)

6.12 常用函数 (58)

6.13 交互事件 (59)

第7章类体系 (59)

7.1 视图类 (59)

7.2 打印纸类 (62)

7.3 页面类 (63)

7.4 选择组类/Selection (65)

7.5 单元组类 (66)

7.6 图层类 (66)

7.7 图形单元类 (67)

7.8 文字单元类 (68)

7.9 形状单元类 (71)

7.10 折线单元类 (73)

7.11 元件类 (75)

7.12 SystemParams系统参数类 (77)

第8章ACTIVEX技术文档 (78)

第1章Visual Graph简介

Visual Graph是一套强大的交互图形开发平台,她能非常方便地建造基于图形的界面、制作各种图形元件、实现图形管理、图形建模、制作监控系统、表单系统、绘图系统、流程设计、CAD软件等。她提供功能非常强大的ActiveX控件,和其他流行的编程语言共同工作,极大地弥补了这些语言在图形处理方面的不足。也可以嵌入IE浏览器中,实现网上图形编辑和控制等。

Visual Graph专门处理交互图形,与具体业务无关,她提供了十分丰富规范的交互事件和图形控制命令,内置结构简单开放的脚本语言,使程序员能够专心编写后台系统等与图形无关的部分,体系结构十分清晰。

什么是Visual Graph?

首先,这是一个控件,一个ActiveX标准控件。这种控件可以应用在Windows平台上的各种编程语言,甚至现在一般不太常用的Foxpro都支持它。在IE客户端,使用VBScript或者Jscript均可以操作它提供的接口类、函数和属性。完全功能的系统不含任何第三方技术,打包后文件大小才仅有300k。

其次,这是一种二维矢量绘图工具,通过三种简单的基本图形(文字、形状、线条),层层组合,可以开发无穷无尽强大的图库,图库就是该系统最大的特点之一,其他厂家的图形系统常常为了扩充某些功能,而把程序写死,导致程序今后可能经常需要修改,而且会越来越庞大,但Visual Graph不需要这么复杂,只需要修改图库即可。此外系统支持多个绘图页面、多个图层,图形之间可以建立拓扑关系、图形还可以按需要分组。

第三,这是一种动态图形人机界面(HMI),程序员可以通过COM接口把自己的数据反映到图形上,使画面上的图形动作,例如仪表盘指针的偏转、开关的分合、液位的高低、轮子的转动、部件的动作等。图形用鼠标点击可以触发各种事件。传统的HMI人机界面一般是采用很多ActiveX控件堆放在一个画面上,每个ActiveX控件执行一个功能(例如曲线图控件、仪器仪表控件等),但是Visual Graph不需要这些,它的图库功能异常丰富,完全可以开发出诸如此类的“控件”(其实是组合图形),这种“控件”和整个图形画面浑为一体,非常便于缩放、打印、分层、旋转、组合复用,因此有着巨大的优势。

第四、这是一种面向对象的脚本编程语言,体系架构十分类似Delphi,请看下表。大家知道,Delphi 最强大的地方在于可扩充的VCL控件库(现在.net平台也借鉴了Delphi这种思想),同样,Visual Graph之所以强大,也在于它有类似的内核,从而可扩充图形库。

第五、这是一种画表格或做报表的控件,由于表格也是由图形(文字单元)拼凑起来的。所以天然就可以处理表格。当一组文字单元相邻的时候,Visual Graph自动把它们识别为表格,从而实现像插入行列、分割、合并这样的功能。2006年,表格部分在铁道部大量使用,所处理的复杂表格多达上千种之多,一般软件则难以胜任。

第六、这是一种组态软件最佳开发工具,组态软件一般由四大块组成:通讯、实时数据库、后台管理系统、前台组态系统。Visual Graph的全部功能在组态软件中都可以充分使用到。而组态软件要求前台的全部功能也都能在Visual Graph中实现,两者恰好相等。

第2章软件特点

1. 图形文件和图形库是统一的XML格式

一般图形软件的图库不外乎采用以下几种技术:

①程序中自带图库。这适用于特定的专业领域,如果需求发生变化,程序必须改变,目前许多自行开发图形系统的软件公司采用这种技术,一来需求相对固定,二来实现也较为简单,这种技术的缺点在于,以后需求发生变化,程序经常需要修改。

②专门做一个图库设计工具软件,图库有专门的格式。这个已经比前面进了一步,起码用户似乎可以“自定义图库”了。给用户的感觉要好一点。但是这种技术的缺点在于,图库中的图形都是“组合图形”,只能做一些简单的状态变化。而象曲线图、饼图、棒图、仪器仪表等图形就无法实现了。

③插件技术。这个就更进一步,目前在许多工业组态软件的图形系统中采用。为了实现上述各种复杂的组合图形,用外部程序辅助实现,有的是自己定义接口方式,好一点的采用ActiveX标准接口。这种技术的缺点在于,你常常需要很多外部插件,如果厂家没有提供某个图形,就需要请厂家帮忙解决,或者利用厂家提供的接口开发规范用C++等语言编写插件。可想而知,这种技术几乎无法应用于互联网。而且用户受限于自己的开发水平,无法真正创造他想要的东西。此外,如果厂家采用标准ActiveX技术的话,还有一个先天性缺陷,那就是,这种外部插件无法自由缩放、自由旋转,无法和其他图形协调存在,另外还有整体打印方面的问题。

④文档格式。许多厂家的图形文档采用自行规定的二进制格式,这种格式的文档读取速度较快,但是安全性、可维护性很差。在经常性的修改中,难免遇到电脑停电等事故,恢复正常打开电脑后,文件却可能无法读取了,因为是二进制格式,就不知道哪里出了问题,自从有了XML文档格式,采用它存储数据就成为最佳的选择方案,你用其他XML阅读软件甚至记事本就可以轻松编辑这种文档。

⑤ Visual Graph 采用图形文档和图库文档统一的XML 格式,你可以任意自由地画图,任意设计属性、函数、事件,这样相当于给图形赋予了生命,设计好的图形文件马上就可以被当作图库来使用,这样通过多层嵌套,就可以设计非常复杂的图形出来,这样紧凑的结构、巧妙的设计,也只有Visual Graph 才有。

2.一个文档包括多个页面图形

你可以在一个文档内包含多个画面,而当这个文档被用作图库的时候,每个画面又被当作一个个元件来使用了,整个系统形成完备的整体。

3. 页面支持多图层,图层可以隐藏或锁定

画很大的图时,有可能需要建立多个图层,例如地理图上的道路、电力设施、水管、商店、政府部门等可以分别设定在不同的图层上。

4. 基本图形只有三种(文字、形状、线条),却可以制作种类繁多的元件

一切复杂的图形元件都来自于这三类图形,基础图形越少,整个系统的架构越灵活可靠。如果把各种专用图符等放在系统内部,当作不同的类别实现,这样,系统结构就很松散而且难以学习了。

5. 可以进入元件内部编辑其细节

需要专门的图库编辑软件麽?不需要,只要在Visual Graph集成环境中,就可以随时进入元件的内部,修改其细节。

6. 线条编辑,允许插点,删点,画曲线,直线,独特的副线功能

允许在线条上插入顶点,删除顶点。线条的每个顶点除了有x 和y 两个坐标值以外,还有一个顶点属性值,用来描述这个顶点的画法。通过简单改变顶点的属性,一条折线可以变成曲线,可以变成两段不相连接的折线。此外,软件还可以通过添加副线,画出花样繁多的线条,如铁路线、长城线、国界线等等。

7. 直接在画面上编辑文字,文字自由旋转

文字编辑方式自然,即使文字单元有旋转,编辑方式不变,甚至输入光标也会跟着旋转。

8. 无数次的Undo和Redo

能够对绝大多数操作进行几乎无数次的撤销和恢复,根据内存状况采用不同的调度策略,许多方面,尽管用户可能很少用到,但都严格地保证了安全。

9. 内置专门的Visual Graph图形语言

内置专门为图形系统设计的纯面向对象脚本语言,结构简单,语法只有简单的几条,变量也不需要定义,直接任意赋值。比起其他流行的编程语言,更加简洁明快、高效。

10. 每个图形允许定义背景图片,图片可以透明、缩放

每个基本图形都有图片和网纹属性,二者结合在一起,可以实现图片的拉伸、平铺、透明等。整个视图文件也有同样的背景图片和网纹设置。

11. 和许多绘图软件图形互相拷贝粘贴,可以编辑EMF格式的图形

EMF 是各种矢量图形软件相互交换格式的一种标准图形格式,Word、Visio、Autocad、Coreldraw等都支持EMF格式的存取。Visual Graph可以把这些软件的图形拷贝后粘贴进来进行编辑,也可以把图形拷贝到这些软件中去进行编辑(特殊粘贴)。

12. 文档打印纸可以自由设定大小和缩放比例

打印无级缩放,多大的图形都可以放在一张纸上打印,而打印效果直观地显示在画面上,只要显示打

印纸,就可以清楚看到打印纸的位置,你可以用鼠标改变它的位置和大小。打印纸越小,相对来讲打印出来的图形就越大,反之,打印纸越大,打印出来的图形就越小,而所包括的图形也更多。不需要模拟显示。

13. 打印和设备无关

画面打印情况只与打印纸、图形的相对位置有关,与设备无关。所有页面共用同一张打印纸。

14. 支持图形分组

允许建立若干个图形组,这些组被保存进文件,这样可以方便地对图形进行分组管理和编程。例如,在一幅地图上,把所有房子建立一个数组,把所有公用设施按照类别分别建立一个数组等。

15. 多种连接线,十分灵活,可以建立图形间的拓扑关系,自由添加连接点

有直线连接线,曲线连接线,平直连接线。元件内部可以自由设置任意个数的连接点,图形的连接点数目以及每个连接点关联的图形、连接点的位置都可以用程序访问,也可以用程序设置两个图形相连接。可以编写图形拓扑分析程序。

16. 多种箭头风格,并可以任意自定义箭头

内置常用几种箭头风格,满足大多数时候的需要,如果箭头不够,可以修改箭头库文件(arrows.tbl),实际上,箭头库也是图形文件,也可以在Visual Graph中进行编辑。

17. 自定义线型

线条有多种表现形式,可以修改每种线型的具体形状。

18. 自定义网纹

图形填充图案全都可以自行设计,还有透明网纹、过度填充网纹、图片填充网纹等,能够满足绝大多数需要,网纹可以自定义样式。

19. 支持多种网格类型定位,但优先连接关系定位

图形可以通过网格方便定位,默认情况下,图形左上角和网格保持对齐,如果图形在某处有连接点,优先把连接点放置在网格上。这也是为了更方便地绘制拓扑图。

20. 支持文字和其他图形两种对齐方案

文字是不允许用鼠标拖动重叠的,我们认为文字重叠就互相看不清楚了,所以就尽量防止这种状况的发生。所以操作若干文字单元左对齐就不会出现象其他图形那样堆叠的情况,而出现一种类似表格操作的形式

21. 图形支持任意角度自由旋转,旋转中不改变图形其它逻辑

任何图形元件都可以任意角度自由旋转。旋转后,图形的逻辑关系不变,运算程序能够正常运行。例如棒图、饼图、曲线图、甚至页面上所有图形一起都可以随意旋转而正常工作。过渡填充、图片、箭头、文字标注、文字光标自动旋转。

22. 基本图形、图形元件均可以自定义文字标签

普通的矩形、椭圆等形状以及线条都可以添加一个文字标签,线条上的文字标签有多种排版方式,元件可以定义内部哪些文字单元是标签。作为标签的文字单元可以直接编辑,不用进入封装好的元件内部。

23. 自定义多类型存储属性(整数、小数、逻辑、字符串)

当程序员想给图形添加一些特定的数据时,可以给这个图形随便增加自定义属性,对自定义属性的读写、存储等操作和对固有属性没有区别。

24. 自定义任何属性,类似流行编程语言中“属性”的概念

把一些流行编程语言(Delphi、C#等)的“属性”概念引入到Visual Graph中,从而使得系统变成了一种似乎无所不能的面向对象编程语言。你只需要简单地修改一个属性的值,就可以驱动图形做任何复杂的变化。

25. 自定义函数(私有、公有函数)

既然有脚本,就离不开自定义函数,函数按照作用域的不同,分为私有函数、公有函数、引出函数三种,如果一个函数只想被内部的其他图形访问,可以使用私有函数,如果允许外部图形访问,可以使用公有函数,如果这是一个触发事件,则可以使用引出函数。这些非常符合一般面向对象编程语言的习惯。函数与过程的区别仅在于是否在return后面有返回值。函数参数没有显式的类型,会根据调用者的参数决定。这样设计的结果,使得脚本在形式上更加简洁。

26. 众多的图形操作事件,例如在鼠标点击、移动、图形缩放、创建、删除时触发

每个图形都有自己的事件,例如,在运行状态下,当鼠标单击时,会优先执行最上面那个图形的鼠标单击事件中的脚本程序。图形创建时、删除时、绘制后、鼠标移入移出等都有相应的脚本事件。如果程序员只想把Visual Graph当作一般控件使用,也可以利用控件本身的众多事件。这两套事件体系是不一样的,每个图形都有自己的事件,这些事件是Visual Graph 内部规定的,而ActiveX的事件是图形控件整体的事件,遵循国际标准接口。

27. 无级别缩放,比例巨大,局部放大,整页、宽度缩放

图形任意放大和缩小,由于采用浮点数,放大很多倍后,可以精确编辑图形。整页、宽度缩放主要应用于报表场合,当画面上显示打印纸的时候,就会看到它的作用了。当图形缩放的时候,字体会缩放,但是线条的宽度可以设定是否缩放(环境设置),有的时候,放大以后要对细节进行编辑,应该设定线条宽度禁止缩放,而打印的时候,则应该使用线条宽度缩放选项。有一种线宽(0)被设置成无论如何缩放,都只是一条细线,这用来描述某些轮廓。

28. 图形可以设定是否打印

打印区域内的某些图形可能仅为了显示之用,并不想打印出来,则可以设置图形不允许打印。

29. 整体或局部图形导出BMP、EMF格式图片

常常会有这样的需求,选择一部分图形,允许把这部分图形生成图片。

30. 支持读取互联网服务器图形文件

直接读取互联网上的图形文件,无需下载。

31. 支持图形从内存或数据库读写

整个Visual Graph文件是XML文档格式,程序员可以把文件存放在数据库中,进行读写。每个图形也有自己的XML格式,可以单独存取。

32. 支持移动图形到屏幕中间,滚动屏幕,手抓屏幕滚动

有一些有关屏幕操作的函数,帮助程序员更好地控制画面显示的内容。

33. 用程序或者脚本绘图

这也是基本功能,可以用脚本或者其他程序动态生成各种图形、页面、单元组、图层、甚至图形之间的连接关系。

34. 支持标尺,允许自行设计标尺

Visual Graph的坐标体系是逻辑坐标体系,默认的标尺上面显示的也是逻辑坐标值,也就是屏幕象素的坐标,如果用户的系统要求使用不同的坐标系,可以自行换算,主要是改用自己的标尺就可以了。关于如何制作自己的标尺,也提供源代码作参考。系统提供了两种坐标系,一种是以左下角为原点的,另一种是以左上角为原点的。

35. 图形锁定和解锁,按住ALT 键可以操作加锁的图形

图形基本功能,锁定后的图形,不能简单地用鼠标选中和编辑。

36. 支持自定义提示窗口

每个图形(包括页面)都有一个Hint(提示)属性,设置这个值,当鼠标在图形上面停留一会,在鼠标附近就会出现一个小窗口显示这个字符串,每个图形文件都内置一个提示信息窗口HintWindow,用户可以对此进行编程,例如在HintWindow上面画图。

37. 元件自定义连接点

元件可以添加任意多个连接点,连接点可以设定是主动连接还是被动连接。

38. 元件自定义调控点

在元件设计时,可以放置任意多个控制点,将来这些控制点将允许用户鼠标拖动操作,当鼠标拖动操作的时候,会执行OnNodeChange事件,在元件内写好这个事件的脚本程序,元件就可以按照你的意愿变化形状了。如果一个元件定义了两个以上的调控点,并且这些调控点又同时是连接点时,这个元件将来不会出现选择框。

39. 支持各种仪器仪表、刀闸、开关、信号灯开发

给这些设备图形添加自定义属性,仪器仪表可以添加最小值、最大值、当前指针值等属性,改变这些属性,仪器仪表就会发生变化(例如指针旋转)。刀闸、开关可以添加开关属性,改变这个属性,开关的样式也发生相应的变化。信号灯可以添加当前状态属性,允许根据属性不同,信号灯的状态发生变化。这些在其他图形软件里面非得使用插件才能实现的功能,在Visual Graph 看来,却是如此简单。

40. 支持各种按钮的开发

由于图形有鼠标左键按下和放开的事件,只要在鼠标按下的事件里让图形产生一个变化,在鼠标放开时恢复这个变化就可以了。

41. 支持曲线图、棒图、饼图开发

系统自带了这方面的例子或者图库,可以参照使用,自行修改。即使图形多么复杂,都不需要插件。

42. 支持报表开发,表格高度智能,移线、合并、插入或删除表格行列,多种表格边框

Visual Graph 对表格的概念有一个突破,所谓表格,就是若干文字单元拼凑而成的一组图形。可以移动里面的线条、划线分割、合并、插入或者删除表格行列,整体修改一部分表格的边框等等,这些操作由系统内部通过一定的智能规则判断实现。其中的任何一个文字单元都是独立的个体,这样,对于程序访问非常有利。如果熟练掌握了Visual Graph,就不需要再用其他报表控件,尤其是在互联网上使用时,与图形界面自成一体,非常节省资源。

43. 允许混合编程,互相调用,不仅您的程序可以操控VG的一切技术,而且VG的脚本可以调用执行您的任何程序

在Visual Graph中出现的任何图形、任何属性、任何函数都是可以在自己程序中访问的。

另外,Visual Graph可以访问程序员自己语言中的函数,这是一个非常特殊而且重要的功能,因为现有的脚本语言不可能穷尽所有的功能,事实上,它是一种非常简单的语言,所含功能性的函数很少,因此,在某些情况下,你可能需要扩充这种脚本语言的功能。例如日期访问、数据库访问等等。使你不用担心将来功能不够怎么办的问题。

44. 支持扩充功能函数

Visual Graph 可以调用外部函数库中的函数,例如Windows API 函数等。

45. 可以制作对话盒、子窗口、弹出式窗口、菜单等窗口元素。

在很多情况下,用Visual Graph做这些窗口元素比起用编译语言做有更多的优势,因为它不是编译语言做死的,而是外置的,易于维护修改的,这样,以后可以轻而易举地变换软件的功能。只要制作好足够多的图形基础控件,甚至能做应用软件开发。

46. 元件的链接和嵌入

如果图上有大量相同的图形(比如很多刀闸),图形采取链接方式比较好,这样能够大大减少文件的体积,更快地载入文件。图库改变后,下次载入图形文件也相应会反映这种改变。

47. 提供图形的全部COM接口

COM接口能够方便程序的编写,接口属性和函数在基本形态上和Visual Graph内部的脚本语言完全一致,这样有利于学习和记忆。只可能因所用编程语言的不同,而有些形式上的改变,例如在VC中,没有属性这个概念,所有的属性都被变成Get和Set函数了。

48. 可以设定图形的透明度

每个图形或者元件均可以设置透明度。

49. 可以修改为数众多的系统参数

系统字体、颜色、光标形状、箭头、线型、网纹等许多重要参数均可以改变(注意不是属性的改变,而是常量的改变),改变系统参数后,对所有图形均起作用。

50. 根据自己的需要选择合适的图形显示驱动程序

通过设置,可以使用不同的图形显示驱动程序,在速度或者精度等方面达到最佳平衡。

51. 包括一个功能非常齐全的属性列表控件,这样对于图形程序的开发就更方便了

只通过一条简单的命令,就可以把图形和属性列表控件联系起来,在属性列表控件中对图形进行全方位的编辑。这个属性列表控件也是一个图形文件,用户熟练以后可自行编辑修改。

52. 支持界面设计、插件等

可以自由开发诸如菜单、工具栏、按钮、列表框、下拉框、检查框等windows界面元素。支持Visual Graph 插件开发。

53. 非常适合应用于互联网

软件发布包特别小(压缩以后只有300k左右),功能特别全,非常适合应用于互联网软件开发。

第3章Visual Graph的应用领域

Visual Graph是一种专业的图形引擎,它不仅仅是一款绘图软件还是一个开发平台。它的应用领域也是非常广泛的,可以应用于电力,煤炭,化工,交通等各种工控软件以及图形建模,图形拓扑分析,工作流,GIS,图形管理,图形开票,智能表单,中文表报,工程制图,图形仿真等与图形相关行业的开发。

1.在电力、煤炭、化工等工控行业的应用

Visual Graph控见尺寸足够小、速度足够快,运行异常稳定,能适应工业上机器常年工作等高强度环境;能轻松作出工业上的各种动作设备以及常用的曲线图、棒图、尺寸线,实现工业的过程监控;能让软件公司在极短的事件内开发出高质量的组态监控软件。

2.绘图中的应用

Visual Graph绘图控件应用领域包括:工程制图、流程图、画表格、绘制教学实验图、绘制各类地图、设备分布图、建筑施工图纸、管网图等等。相比同类的其他软件,如Word、CorelDraw、AutoCad、PowerPoint、Visio、Protel等等,Visual Graph绘图的特殊之处在于元件库的扩充能力。

3.WEB上的应用

Visual Graph ActiveX插件尺寸小(cab文件300k),功能全。在各个领域都能很好地发挥作用。

第4章软件说明

1、“vg.exe”是图形集成开发环境

既然核心产品是ActiveX 控件,为什么要提供这个图形集成开发环境呢?有以下几个原因:

?让不懂编写程序的打字员在集成开发环境下绘图、制表、设计图库,这样有利于员工的分工协作。

?程序员在集成开发环境下通过实际的操作能够很容易地掌握Visual Graph 提供的技术。

?一些复杂的图形或者界面只有在集成环境下才能设计出来,例如添加函数、事件、编写脚本、调试脚本等等。

2、“vgctrl.dll”是ActiveX 控件

这个控件既可以插入其他语言开发应用产品,也可以作为插件在IE 浏览器中使用。不过都需要首先注册才能使用,方法是在“开始/ 运行”对话盒中输入regsvr32.exe vgctrl40.dll 执行。如果作为插件在浏览器中运行,浏览器将自动负责下载和注册。

3、“vg.chm” 是帮助系统

既是一个绘图帮助系统,也是一个开发帮助系统,包括各种基本概念、图形各类属性说明、脚本语言的语法、给程序员参考的类库、ActiveX 开发步骤、常见问题等。

4、“入门手册.chm”

在这里集中了一些特别常用的例子,通过一步步的学习,就可以在最短的时间内入门了。

5、“lib”目录里面是一些图库的例子

怎么使用“lib”目录下面的这些图库呢?,请参见更详细的信息...

6、“demo”目录里面是一些图形文件示例

在集成环境中打开这些文件即可大致了解Visual Graph能绘制什么样的图形。最好不要把这些图形文件当作图库,虽然和图库是一回事。

7、“source”目录里面是一些源码

这是一些在VC++、Delphi、C#、https://www.wendangku.net/doc/3d13474736.html,等环境下利用ActiveX控件开发图形软件的例子源码和可执行的exe程序。

8、“dat”目录里面是一些重要文件,如果破坏,系统将可能无法正常运行。

9、“web”目录里面是一些在web中作为插件使用的例子。把他们拷贝到IIS的根目录下,可以调试运行看到效果。

10、“flash”目录里面是一些软件使用方法的flash演示。

11、“register.tbl”是tbl文件格式注册脚本程序

需在Visual Graph集成开发环境里面运行它。

目的是把tbl格式的文件注册到vg.exe,这样,下次在文件夹中双击后缀名为tbl的文件,将把它当作视图文件打开。

12、“train.ppt”是演示文档

13、“vgplayer.exe”是视图文件播放器

运行同一目录下的index.tbl文件。

第5章基本概念

5.1视图文件

1. 要点

视图文件是内含各种图形数据、属性、代码,XML格式的文件,后缀名为TBL。

视图文件同时可以做为元件库,在集成开发环境中,选择菜单“插入/管理元件库”,可以把视图文件作为元件库使用,该视图文件的每个页面将被看作一个个元件。元件和页面一致,这是非常重要的概念。

视图文件还可以被当作对话盒等弹出式窗口使用。

ActiveX控件可以运行(Run)或编辑(Design)视图文件。

2.结构

视图文件由打印纸和多个页面组成。页号从0开始。所有页面共享同一个windows窗口,因此可以通过换页看到不同页面的内容。页面总数是SheetCount,第一个页面是Sheets[0],当前活动页面为ActiveSheet。一个页面内有UnitCount个图形,Units[0]表示第一个图形(最下面)。一个页面有LayerCount个图层,Layers[0]表示第一个图层(最下面)。一个页面上有GroupCount个单元组,Groups[0]表示第一个单元组。

下面这个图描述了Visual Graph文件的全貌

下图是集成开发环境中的绘图界面,可以切换显示和编辑不同的页面。

由于元件可以插入其他视图的页面中,而元件和页面一致,由此可见,页面可以嵌套。

图形选中后,拷贝到裁剪板,可以在Word、Visio、CAD软件中粘贴成增强图元格式(emf)(注意,要“选择性粘贴”)。

其他软件的图形拷贝后也可以粘贴到Visual Graph中。例如,画笔工具拷贝后粘贴成一幅位图,Word、Visio、CAD软件等拷贝后,可以粘贴成EMF矢量图元件。

如果需要把其他绘图软件的图形转换到Visual Graph,只注意重复使用好AddUnit函数即可。这个函数将在一个新视图上增加图形单元,并返回这个图形单元,然后对此设置各种参数即可。

3.格式

下面是一个典型的Visual Graph视图文件格式:

它有如下特点:

1、结构简单:

在第一行文件头下面是视图节点vg,这里存放视图类的各种属性。

在视图节点里面是打印纸节点page和页面节点sheet。

在页面节点里面是图形节点。如果图形是元件单元,那么这个节点里面可能还有其他图形节点。

2、扩充性好:

在页面节点中,我们看到有一个myprop属性,该属性中保存了一个整数123,这是一个自定义属性,Visual Graph系统的自定义属性和普通属性在存储方式上没什么差别。

4.视图窗口

视图文件还可以被开发成对话盒等弹出式窗口,方便其他视图文件调用。作为弹出窗口的视图文件,有一些窗口的常规属性。

选菜单“工具/视图属性设置”,打开下面的对话盒,在此可以编辑这些属性。

● 标题:窗口弹出时的标题,窗口边框设置为“无边窗口”时,标题不显示。

● 标题条按钮:用户可以根据需要可从这里选择要出现的按钮。

● 窗口大小:它决定了窗口弹出时的状态,可以是工作区大小,也可以是最大化或最小化形式。

● 窗口边框:可以选择窗口边框的类型,软件提供了四种类型,用户可以根据需要选择。例如:当图形文件被设置成子窗口时,可以设置为“无边框”。

● 滚动条:窗口滚动条的类型,可以根据需要定义为无滚动条,横向、纵向或双向滚动条。与之对应的视图类属性成员为ScrollBars。

● 缩放比例:是指视图当前的缩放比例。与之对应的视图类属性成员为Zoom。

● 工作区:是弹出窗口的客户区大小,与之对应的视图类属性成员为Range。

5.2 工作区

1.什么是工作区?

整个视图窗口任何位置均可作图。但有一个矩形范围特别重要,被称为工作区。

在设计态下,工作区的大小决定了滚动条的滚动范围。

在运行态下,视图作为弹出窗口时,工作区的大小决定了弹出窗口的大小。

2.工作区视图属性的设置

选菜单“工具/视图属性设置”,打开下面的对话盒,在此可以设定工作区的范围。

这里的栅格大小是当前图形文件的属性(GridSize),当系统参数类中ShowGrid参数为True时,画面上显示栅格,方便绘图时的定位。

打印纸为工作区:是指工作区的位置和大小始终自动等于打印纸的位置和大小。这样,在视图显示时,不管窗口如何变化、如何缩放,打印纸可以始终位于视图的正中间,这一点对于报表来说特别重要。因为工作区始终位于视图的正中间。

5.3 页面编辑

Visual Graph图形文件中可以有多个页面,当图形文件被用作图库时,每个页面对应一个元件。

在集成开发环境下,页面菜单有如下的项目:

建立新页面对应的脚本命令是AddSheet

删除页面对应的脚本命令是DeleteSheet

复制页面对应的脚本命令是CopySheet,参数既可以是页面,也可以是元件。

单元组管理和图层管理功能被列在页面菜单下,以此表明单元组、图层都是页面的对象。

相关文档