标题：Visual Graph
简介
[1]  Visual Graph图形系统适合开发各种电力软件，如：SCADA系统、图形操作票系统、电网图形拓扑分析PAS软件、调度员培训模拟仿真系统、线损管理系统、无功优化控制系统、远程载波抄表系统等等
Visual Graph是一套强大的交互图形开发平台，她能非常方便地建造基于图形的界面、制作各种图形元件、实现图形管理、图形建模、制作监控系统、表单系统、绘图系统、流程设计、CAD软件等。她提供功能非常强大的ActiveX组件，和其他流行的编程语言共同工作，极大地弥补了这些语言在图形处理方面的不足。也可以嵌入IE浏览器中，实现网上图形编辑和控制等。
Visual Graph专门处理交互图形，与具体业务无关，她提供了十分丰富规范的交互事件和图形控制命令，内置结构简单开放的脚本语言，使程序员能够专心编写后台系统等与图形无关的部分，体系结构十分清晰。
软件特点
1、图形文件和图形库是同一种XML格式。也就是说，图形文件同时就可以当作图形库，从而轻易实现图形的继承和嵌套，不需要专门的图库编辑软件。XML格式的文档使得软件开放性、安全性更好，也便于互联网传输和数据库存储。
2、一个文档包括多个页面图形。多页面的设计，相近的业务可以被安排在同一个图形文件中，在图形文件被视作图形库的时候，每个页面被当作图库中的一个图元。
3、页面支持多图层，图层可以隐藏或锁定。这样在处理复杂画面的时候，就可以把图形分类放在不同的图层上。通过令某些图层隐藏、锁定等操作，方便图形的绘制。图形可以很容易改变它所在的图层。 
4、基本图形只有三种（文字、形状、线条），却可以制作种类繁多的各种匪夷所思的元件。这是Visual Graph精华所在，我们在其他绘图软件里面看到的图形几乎都能够在Visual Graph中开发制作出来。而Visual Graph能够制作的图形种类和复杂度却远远不是一般图形软件能够达到的。例如可以制作能够动态变化的仪器仪表、各种数学函数、任意按钮开关、设备符号、棒图、饼图、曲线图、各种尺寸线、各种特殊线条、自由旋转的传送带等等，几乎可以说无所不能了，如果软件需要制作一些特殊的图形，那么Visual Graph是不二之选。
5、可以进入元件内部编辑其细节。当一个元件被放在画面上，仍然可以进入其内部，对它进行个性化的修改。
6、方便的线条编辑，持续绘制曲线、直线，修改曲线，允许线上插入顶点，删除顶点。可以指定某些顶点为控制点或者连接点。
7、直接在画面上编辑文字。文字选中一部分可以自由拖动到其他位置。文字单元具有繁多的属性，行间距、字间距、自动卷绕、自动计算表达式、各种边框、对数字的各种修饰方案，还可以设定是否套打等等。
8、对各种修改有无数次的Undo和Redo，许多软件都声称有这个功能，但仔细看看其实并不是全部操作都可以undo、redo无数次，vg在这方面做的比较全面。
9、浮点坐标，图形精细编辑。可以把图形放大许多倍编辑细节。为了避免出现小数点后很多位的情况，软件对绘图结果特别做了一些安排。
10、内置专门的Visual Graph图形语言。这种语言的语法只有几句，变量不需要声明类型，直接赋值即可, 函数参数和返回类型也无须声明。关键字支持中文。对象不需要释放。可以访问外部函数库例如Windows API。可以混合编程，调用用户自己语言的函数。每个图形单元都支持事件。
11、每个图形可以定义背景图案，图片可以透明、缩放、平铺。
12、可以编辑EMF格式的图形。如果图形的背景图片是EMF格式的，这个图形可以被转换成Visual Graph的图形元件，可以拆分后编辑细节。从其他绘图软件一般均能够拷贝图形到Visual Graph后再编辑。
13、文档打印纸可以自由设定位置、大小和缩放比例，打印和设备无关。打印纸可以设定是否显示（因为有许多情况是不需要显示打印纸的），打印纸可以用鼠标拖动（因为可能要调整相对位置，当然也可以不允许拖动），可以用鼠标改变打印放大率，当打印纸变大的时候，打印内容相对就缩小了，反之，打印内容就变大。打印纸可以设定打印边界。在某些特殊的场合，打印纸可以设定页眉、页脚等，甚至打印纸支持任何背景图形。
14、文档可以设置背景图形或者各类网纹。和普通图形的背景修饰一样，整个文档可以设置各种图案，各种过渡填充，也可以设置图片背景。
15、支持图形分组。图形逻辑分组，一个图形可以同时位于几个不同的逻辑图形组中，这样可以方便将来的计算、分析。例如你可以把画面上的设备按类型分成不同的组。
16、多种连接线，可以建立图形间的拓扑关系。有直线连接、曲线连接、平直连接，平直连接线自动选择路径，可以用鼠标方便地改变位置和合并线条，在交会点还会自动出现拐弯。非平直连接线如果连接到图形的中心位置，会自动选择合适的边缘连接点。元件设计时允许在任何位置定义任意数目的连接点。
17、多种箭头风格，并可以任意自定义箭头。箭头没有任何限制，可以随便绘制，也可以在程序中对箭头进行任意编程修改。随着线条粗细的变化，箭头随之变化。
18、自定义线型。线条的形状通过修改其绘制区域和非绘制区域的比例来实现。
19、自定义网纹。预定意的网纹大致有80多种，但是如果觉得不够，还可以自行绘制网纹，如果需要更大的网纹，则应该使用背景图片进行平铺。
20、支持多种网格类型定位，但优先连接关系定位。栅格形状有网状和点状两种。栅格的大小被保存到图形文件中，这是为了保证下次载入后能够保留定位信息。如果图形有连接关系，则优先。也就是说，即使某两个图形的连接点不在栅格上，也会自动连接，这是为了使图形在不改变栅格的情况下更方便地连接而特别设计的。
21、支持文字和其他图形两种对齐方案。若干文字单元对齐是按照表格的方式对齐，互相不允许重叠，而若干形状、线条、元件等的对齐则允许重叠。这样特别设计的目的是为了表格的考虑，而且文字重叠在vg中被认为无太大意义。
22、图形镜像，可以保护某个图形不允许镜像。任何图形均允许水平和垂直的镜像，甚至过渡网纹、填充图片也会按镜像变化。
23、支持任意角度自由旋转，旋转中不改变图形其它逻辑。这是Visual Graph又一项重要的特点。任何动态的图形均可以无障碍自由旋转，比如曲线图、棒图、传送带、鼓风机、任何仪器仪表均可以随便转动。这一点，几乎没有什么软件能够做得到。
24、过渡填充、图片、箭头、文字标注、文字光标自动旋转。在图形旋转的时候，Visual Graph已经做得相当彻底，非常完美。本着制作精品软件的精神，才可能做到如此彻底。
25、基本图形、图形元件均可以自定义多个文字标注。折线的每一条边上都可以定义一个文字标注，文字随着线条变化而发生位置和旋转角度的变化。文字标注还可以定义其对齐方式。元件允许定义任意多个文字标注。
26、自定义多种类型的固定存储属性（整数、小数、逻辑、字符串）。这些属性可以在自己的语言中很方便地进行访问和设置其值。属性允许用中文。
27、自定义任何属性，类似流行编程语言中"属性"的概念。这也是Visual Graph重大特点之一，有了这个属性，Visual Graph甚至可以"做任何事"。一般的图形软件在自定义属性方面至多只能定义固定存储属性，却无法做到象编程语言那样的巨大灵活性。有了这个特点，图形元件就有了生命。
28、自定义函数。图形允许自定义私有、公有函数或引出事件，函数支持任意多个参数，函数可以有返回值。
29、众多的图形操作事件。例如鼠标左右键点击、鼠标移入、移出、拖动、改变大小、图形创建、删除、显示均会触发相应的事件。
30、和其它绘图软件互相交换图形。允许把其他绘图软件的图形、图片、文字等拷贝后粘贴到Visual Graph，并且还允许编辑。Visual Graph的图形还可以拷贝后以矢量图的形式粘贴到其它绘图软件中去，进行编辑。
31、通过对象的名字，访问它的属性和函数。不采用Id编号访问，而是象一般编程语言那样的设计，用对象的名字直接访问其成员，例如"变压器1.电压"。
32、无级别缩放，比例巨大。允许局部缩放，整页、宽度缩放。
33、图形可以设定是否打印，文字可以设定是否套打。图形显示和打印如果要求效果不同，这个功能就很有用了。
34、巨大的图形可以整体打印，也可以分页打印后拼凑。前者需要拖动打印纸，改变其大小，后者方便打印巨大的图形。
35、整体或局部图形导出BMP、JPG、EMF格式。因此，用Visual Graph绘制的图形可以转移到其他工作环境中使用。
36、支持读取互联网服务器图形文件。直接打开服务器的文件，Visual Graph会执行服务器上的文件，无需下载。
37、支持从内存读写图形。这样就可以把图形文件放在数据库或者字符串里面，快速载入。 
38、支持移动图形到屏幕中间，任意滚动屏幕，手抓屏幕滚动。
39、图形可以计算面积。
40、用程序或者脚本绘图。动态添加、删除图形、动态建立连接拓扑关系、修改图层、各种图形属性等等。在绘图环境中能够完成的操作，都可以用程序或者脚本来实现。
41、支持标尺。如果感觉标尺不满意，可以自形开发和设计标尺。
42、图形锁定和解锁，按住ALT键可以操作已经加锁的图形。
43、划线自动寻找垂足、中点、顶点。
44、支持自定义提示窗口。鼠标在某个图形处允许出现提示信息，默认的提示信息是简单的小矩形框，自定义的提示窗口是一种元件，可以编辑，也可以在程序中动态控制。这样，就可以丰富界面的表现了。
45、元件自定义调控点。每一个调控点允许编写动作程序。例如尺寸线等就是用这种技术实现的。
46、支持报表开发。表格高度智能，允许移线、合并、插入或删除表格行列，支持多种表格边框，还支持斜线。不同于国外电子表格，这里没有行列的概念，不论其中的单元是否在同行、同列，表中任何一组单元都能用鼠标拖动到其他位置，单元组间可以建立任何复杂的算法，所以处理中国式的复杂表格例如表中套表最为简单。运行状态下，仍然允许编辑指定文字单元。 
47、可以开发对话盒、子窗口、菜单。这样就可以很快地修改您的界面。 
48、允许扩充功能和混合编程。不仅您的程序可以操控Visual Graph的一切技术，而且Visual Graph的脚本可以调用执行您的任何程序、函数。
49、提供图形的全部COM接口，在自己程序中象访问对象类一样方便地访问整个系统提供的一切技术。
50、在集成开发环境中还设有脚本调试器，设断点窗口、命令行窗口，变量浏览器等，信息十分丰富。
产品概述
产品概述：Visual Graph是一套强大的交互图形开发平台，她能非常方便地建造基于图形的界面、制作各种图形元件、实现图形管理、图形建模、制作监控系统、表单系统、绘图系统、流程设计、CAD软件等。她提供功能非常强大的ActiveX控件，和其他流行的编程语言共同工作，极大地弥补了这些语言在图形处理方面的不足。也可以嵌入IE浏览器中，实现网上图形编辑和控制等。
Visual Graph专门处理交互图形，与具体业务无关，她提供了十分丰富规范的交互事件和图形控制命令，内置结构简单开放的脚本语言，使程序员能够专心编写后台系统等与图形无关的部分，体系结构十分清晰。什么是Visual Graph：1.1、这是一个控件：一个 ActiveX标准控件。这种控件可以应用在Windows平台上的各种编程语言，甚至现在一般不太常用的Foxpro都支持它。在IE客户端，使用VBScript或者Jscript均可以操作它提供的接口类、函数和属性。完全功能的系统不含任何第三方技术，打包后文件大小才仅有300k。1.2、这是一种二维矢量绘图工具：通过三种简单的基本图形（文字、形状、线条），层层组合，可以开发无穷无尽强大的图库，图库就是该系统最大的特点之一，其他厂家的图形系统常常为了扩充某些功能，而把程序写死，导致程序今后可能经常需要修改，而且会越来越庞大，但 Visual Graph不需要这么复杂，只需要修改图库即可。此外系统支持多个绘图页面、图形之间可以建立拓扑关系、图形还可以按需要分组。1.3、这是一种动态图形人机界面（HMI）：程序员可以通过 COM接口把自己的数据反映到图形上，使画面上的图形动作，例如仪表盘指针的偏转、开关的分合、液位的高低、轮子的转动、部件的动作等。图形用鼠标点击可以触发各种事件。传统的HMI人机界面一般是采用很多ActiveX控件堆放在一个画面上，每个ActiveX控件执行一个功能（例如曲线图控件、仪器仪表控件等），但是Visual Graph不需要这些，它的图库功能异常丰富，完全可以开发出诸如此类的“控件”（其实是组合图形），这种“控件”和整个图形画面浑为一体，非常便于缩放、打印、分层、旋转、组合复用，因此有着巨大的优势。1.4、这是一种面向对象的脚本编程语言：体系架构十分类似 Delphi，请看下表。大家知道，Delphi最强大的地方在于可扩充的VCL控件库（现在.net平台也借鉴了Delphi这种思想），同样，Visual Graph之所以强大，也在于它有类似的内核，从而可扩充图形库。1.5、这是一种画表格或做报表的控件：由于表格也是由图形（文字单元）拼凑起来的。所以天然就可以处理表格。当一组文字单元相邻的时候， Visual Graph自动把它们识别为表格，从而实现像插入行列、分割、合并这样的功能。 2006年，表格部分在铁道部大量使用，所处理的复杂表格多达上千种之多，一般软件则难以胜任。1.6、这是一种组态软件最佳开发工具：组态软件一般由四大块组成：通讯、实时数据库、后台管理系统、前台组态系统。 Visual Graph的全部功能在组态软件中都可以充分使用到。而组态软件要求前台的全部功能也都能在Visual Graph中实现，两者恰好相等。
产品特性：
Visual Graph 在可靠性、兼容性、易用性、扩展性、完备性、容错性等多方面均达到了较高的水平。2.1可靠性：用户主要是工业领域的有实力的软件公司或系统集成商，他们对软件的质量要求很高，首先，软件长期处于无人值守的运行状态下，所以，不能有任何隐患出现。其次，图形要及时响应硬件不断发出的指令，所以，反应速度要快。第三，要考察对方售后服务方面如何。我们现在已经拥有八十多家用户，其中很多都是行业内大名鼎鼎的软件公司或上市公司，每家公司在购买前都对我们进行了长期的考察。实践证明，用户对我们的产品质量和售后服务均非常满意。2.2兼容性：软件不仅能在目前主流操作系统，如Windows NT、XP上优化运行，而且还完美兼容Windows98。在编程语言方面，软件提供的接口不仅能够支持VB、VC、Delphi、FoxPro、PowerBuilder、C++Builder、 C#、VB.net、VC.net、IE等不同的工作环境，而且提供了全部类库。要知道，在某些语言中，一些特殊的接口是无法识别和使用的， Visual Graph为此进行了精细设计，既照顾了方方面面不同的语言环境，同时编写程序还非常方便。2.3易用性：程序员大都熟悉可视化编程，VB、Delphi、C#就是典型。Visual Graph设计思路和编程习惯非常类似这几种语言，对象的属性名称、函数名称都经过精心的设计，保证符合程序员的思维习惯。由于接口提供了完全的COM类库，当程序员在某个图形对象名后输入小数点时，立即出现下拉列表，里面列出了全部可用的属性和函数。图形文件采用标准XML而不是不可知的二进制格式，工作起来更放心。2.4扩展性：Visual Graph在图库设计方面是无与伦比的，它不象许多图形软件只能设计简单的组合图形，也不象许多软件必须提供插件才能实现个别复杂的图形，它的基本图形元素虽然只有三种（字、形、线），却能够通过嵌套技术、脚本技术像变魔术般生成无穷无尽的万千图库，只要其他软件有的图形，在这里都能自行开发出来，不需要编写插件，这样就非常适合用于互联网。专业版更提供了特殊的方案，脚本可以回调程序员自己的函数，因此，Visual Graph不支持的技术，程序员可以自行实现。2.5完备性：Visual Graph充分考虑了用户方方面面的需求，把许多技术做到了极致，超前设计了许多许多功能，更能细致入微地体贴用户。对于具体应用来说，许多功能暂时可能不需要，但给将来的发展却打下了良好的基础。2.6容错性：Visual Graph充分考虑了用户打开的文件的有可能错误的，所以Visual Graph人性化地显示出错误提示。并且不会出现画面死机现象。如果画面脚本出现错误时，则会显示出脚本错误信息。