以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 SVG/GML/VRML/X3D/XAML 』 (http://bbs.xml.org.cn/list.asp?boardid=21) ---- [分享]visual graph专栏 (http://bbs.xml.org.cn/dispbbs.asp?boardid=21&rootid=&id=73500) |
-- 作者:qindian -- 发布时间:3/25/2009 1:51:00 PM -- [分享]visual graph专栏 严格听取版主建议,专门开设一个visual graph专栏,请各位技术人员支持。如有不对请提出,会尽快进行改。谢谢。 首先讲解一下visual graph的应用领域: Visual Graph工业图形系统,此产品经过长期研发,包含了大量的创新技术,系统具有尺寸小(不到300K)、功能丰富、灵活性高、稳定可靠等突出优点,特别适合于WEB上的软件开发,是国产软件中比较罕见的精品,目前已经广泛应用于电力、煤炭、化工、仿真、通信、自动化监控、地理信息系统、报表开发等许多领域。 提供官方下载地址:http://www.visual-graph.com 一些典型用户列表: 国电自动化研究院,南京南瑞集团公司 南京东大金智电气自动化有限公司 深圳市国电信息技术股份有限公司 国电南京自动化股份有限公司 江苏河海大学电力软件有限公司 江苏常州东瑞电力软件公司 重庆跨越集团宏泰电力软件公司 北京高阳万为电力信息技术有限公司 南京四方亿能公司 深圳腾鹰软件有限公司 北京百联优力软件有限公司 杭州人和软件开发有限公司 昆明东电科技有限公司 杭州朗新软件有限公司
Visual Graph有强大的图库开发能力,而且使用非常简便,下面以VB中的使用为例: 一、在VB中建立一个新的工程,在左侧工具栏上按右键,选择菜单“部件”,添加Visual Graph控件。 二、在窗口上添加Visual Graph ActiveX Control控件,这个控件将用来画图。 三、再添加一个Visual Graph ActiveX Control控件,这个控件中的文件将被当作图库,我们把这个控件充分缩小,放到上面那个控件的下面。 四、在Load事件里写程序: vgctrl1.Design "" vgctrl2.Run "e:\vg\lib\电力设备.tbl" 这一句把vgctrl2中的图形文件当作元件库。 五、在窗口上插入按钮。在这个按钮的OnClick事件里面写: vgctrl1.vg.NewUnit vgctrl2.vg, "垂直刀闸" 画图时,将从当前指定的图库中寻找“垂直刀闸”这个元件。 六、再放一个按钮,在这个按钮的OnClick事件里面写: vgctrl1.vg.ActiveSheet.AddUnit vgctrl2.vg, "垂直刀闸" 七、运行,测试。 |
-- 作者:qindian -- 发布时间:3/26/2009 9:48:00 AM -- 有人下载试用吗,今天再来贴第二讲 元件的变形 在下面这个例子中,我们介绍如何对元件设计特定的变形方法。 先绘制三个矩形,排列如下:
这个图形是由两边的两个矩形A和B以及中间的一个矩形C组合而成。 把三个图形组合起来形成一个元件。 我们试着用鼠标拉伸一下这个元件,图形变成这样:
可见,元件的变形在默认状态下是内部各图形等比例变形的。 如果我们希望图形拉伸时变成下面这样,A和B不变形,只是B移位,C变形,应该怎么办呢?
在元件上方按右键,选择菜单“进入编辑元件”,在函数事件中找到OnResize事件,编写如下代码: A.SetBounds( Left, Top, A.Width, Height ) 这个事件中的程序,即使在绘图状态下也执行。当我们用鼠标拉伸元件,改变其大小的时候就执行上面的代码。
图贴不上。。。。 |
-- 作者:qindian -- 发布时间:3/30/2009 10:53:00 AM -- 第三讲 对选中的图形进行编辑 在VB中对选中的图形进行编辑 在设计绘图界面的时候,我们经常需要对选中的图形进行编辑。下面我们以VB为例,说明使用方法: 一、在VB中建立一个新的工程,在左侧工具栏上按右键,选择菜单“部件”,添加Visual Graph控件。 二、在窗口上添加Visual Graph ActiveX Control控件,这个控件将用来画图。 三、在Form_Load中写如下代码: vgctrl1.Design "" 四、在Visual Graph控件的OnSelectChange事件中写如下代码: 五、运行这个程序,用鼠标选中画面上的两个图形。 |
-- 作者:qindian -- 发布时间:4/1/2009 10:58:00 AM -- [原创] 用的过程中遇到什么技术问题的话,请发到论坛里来,会即时帮您解决 第四讲 观察下面这个元件,它有一个文字标签,标签上有一个点,鼠标拖动这个点,可以改变标签的位置,标签和调控点都在图形选择框外面。
下面说明制作方法: 一、在集成开发环境中新建一个图形文件,画面上放一个“水平开关”元件。该元件在系统Lib子目录下的“电力设备.tbl”里。 二、这个元件没有带文字标签,我们想办法改进一下它。 三、在元件上按右键选择“编辑元件”,打开一个新的窗口,我们现在已经“进入”元件的“内部”了,现在我们看到的页面就是外面看到的那个“水平开关”。 四、在左侧图库列表的基本图形中选择文字单元,鼠标在画面上单击添加一个文字单元,(这个文字单元是无边框的,它的Border属性为0,如果画的时候鼠标在页面上拉框,则创建的文字单元有边框) 五、在左侧图库列表的基本图形中选择线条单元,鼠标到上面这个文字单元的中间按下左键再立即按下右键,则在文字单元上面添加了一个只有一个点的线条Line3。 六、在右侧的函数事件中找到OnNodeChange,双击,编写下面的代码: Text1.MoveTo(Sender.X[0]-Text1.Width/2,Sender.Y[0]-Text1.Height/2) 七、选择文字单元和线条单元,单击工具栏上的“锁定”。锁定的图形在图元中将不被选中。 八、选择菜单“文件/保存”,其实这里的保存并非保存到文件或硬盘,而是更新了元件。接着,关闭窗口。 九、测试这个元件,我们看到元件上现在带了一个文字标签,移动元件,标签跟着移动。标签上面有一个黄色的菱形,拖动,标签跟着移动。 |
-- 作者:qindian -- 发布时间:4/8/2009 11:16:00 AM -- 技术师们如果 有试用的,遇到问题或者想了解哪方面的问题都 发到这里来 今天第五讲 在运行状态下用鼠标拖动图形 操作步骤如下: 一、在集成开发环境中新建一个文件,然后在页面上画一个圆( circle1 )。 二、在页面的 Initialize 事件中添加代码: FStartX = 0 FStartY = 0 三、在圆的 OnLButtonDown 事件中添加代码: Sender.Tag = 1 FStartX = X FStartY = Y 四、在圆的 OnLButtonUp 事件中添加代码: Sender.Tag = 0 五、在圆的 OnMouseMove 事件中添加代码: if Sender.Tag = 1 then Sender.MoveBy( X - FStartX, Y - FStartY ) FStartX = X FStartY = Y end if 六、选择菜单“程序/运行”。鼠标即可拖动这个圆。 |
-- 作者:qindian -- 发布时间:4/15/2009 10:06:00 AM -- 也不知道大家在用了没有,怎么没人帮忙顶呢!!! 不管了,今天进行第六讲 OnCommand事件 除了AddFunction允许Visual Graph调用自己程序中的函数外,Visual Graph还提供了另外一种机制,就是DoCommand和OnCommand配对回调机制。 这种机制对于在C#、VB.net、Javascript、VBScript中使用Visual Graph有很大的帮助,因为,这种情况下,AddFunction是不能使用的。 DoCommand是脚本语言中的函数,它有两个参数,第一个参数是图形单元,第二个参数是任意字符串。函数执行后,这两个参数将被传递给OnCommand事件的两个参数。 下面我们以VB为例,说明这种机制的实现方法。 一、在集成开发环境中,新建一个图形文件,并在页面上放置一个椭圆,在椭圆的OnClick事件里面写下面的脚本: Sender.DoCommand( "Hello" ) 二、把文件保存为“e:\test.tbl” 三、打开VB,新建一个工程,然后在主窗口上放一个Visual Graph ActiveX控件。 四、在窗口的OnLoad事件中,运行那个Visual Graph图形文件。 Private Sub Form_Load() 五、在控件的OnCommand事件中写: Private Sub vgctrl_oncommand( ByVal AUnit As vg.IUnit, ByVal ACommand As String ) 六、运行这个程序,鼠标单击椭圆,即执行上面的那个事件OnCommand。 |
-- 作者:qindian -- 发布时间:5/14/2009 11:34:00 AM -- 好像好久没有更新了,呵呵,大家也没人帮忙顶 |
-- 作者:qindian -- 发布时间:5/25/2009 3:44:00 PM -- Microsoft Visio和Visual Graph比较 都是绘图工具,都包含非常丰富的图形元件库。图形之间都有拓扑关系。都支持脚本编程。两种软件的图形都支持互相拷贝。前者的每个图形元件库都是外挂的插件,整个系统庞大,适合办公使用;后者的每个图形元件库都是普通的图形文件,整体尺寸小,适合web使用。前者只用来绘图,后者还可以运行。 Macromedia Flash和Visual Graph比较 Autocad和Visual Graph比较 组态软件和Visual Graph比较 都能对矢量图进行操纵,都支持开发和运行。都可以做工业人机界面,都可以开发工业应用。前者是应用软件,面向最终用户,后者是开发平台,面向软件公司。前者设备图库都需要专业人员开发,后者设备图库只是普通的图形文件,前者适合做应用,后者适合在web上发布。 报表组件和Visual Graph比较
|
-- 作者:qindian -- 发布时间:5/27/2009 9:44:00 AM -- 看的朋友不少,有没有试用呀?有问题的可以发表到论坛里,及时帮你解决??? |
-- 作者:qindian -- 发布时间:5/31/2009 10:00:00 AM -- 调试元件 Visual Graph集成开发环境提供了完备的调试功能,下面我们来学习如何使用。 一、在集成开发环境中新建一个画面,在画面上放一个气温计元件和一个按钮元件。前者在Visual Graph所在目录的Lib子目录下,“监控设备.tbl”元件库文件中,后者在“按钮库.tbl”元件库文件中。
二、我们看到气温计有一个自定义属性Value(红色),更改此值,气温计的液位就会上下变化,但是此属性有一个问题,那就是如果把Value值改成120,液位会突破气温计顶部,下面来调试这个错误。 三、在按钮的OnDblClick事件里面写:气温计1.Value = 120,选择菜单“程序/切换断点”,在这一行程序上设置一个断点。 四、选择菜单“程序/运行”,然后双击按钮,程序运行到断点,画面切换到断点处,此时调试窗口同时出现。按“F7”或选择菜单“程序/跟踪执行”,断点到达气温计1的私有函数SetValue中,此时我们发现,原来AValue没有限定取值范围。
五、选择菜单“程序/结束程序”,下面开始修改气温计1的SetValue函数。 六、在气温计1图形上按下右键,选择菜单“编辑元件”,进入元件内部,在页面空白处单击左键,表示选择整个页面。 七、在右侧“函数事件”里选择“SetValue”,双击,进入代码区修改。添加对AValue参数的范围设定。 if AValue >= 0 and AValue <= 100 then 八、关闭并保存文件,这个操作其实是更新元件。 九、这时候,我们可以测试这个气温计,它的Value属性不能随便输入其它值了。 |
-- 作者:qindian -- 发布时间:6/11/2009 3:35:00 PM -- 又来更新喽,希望大家多支持 读写图形属性 我们需要读和写画面上图形的属性,下面以VB为例说明使用方法: 一、在VB中新建一个工程文件, 在工具栏上添加Visual Graph控件。 二、在窗口上添加Visual Graph ActiveX Control控件。 三、在Load事件里写程序: vgctrl1.Design "" 上面第一句程序新建一个图形文件,第二句添加一个圆。 四、在控件的OnDblClick事件中编写下面的代码: set d = vgctrl1.vg.ActiveSheet.Units( 0 ) 五、运行这个程序,双击画面上的椭圆。 |
-- 作者:qindian -- 发布时间:6/29/2009 4:32:00 PM -- 页面与层的高级应用
如果,一个VG里面的有的Sheet的属性Visible都是TRUE时,那么这时候可见的页面就是当作层来显示,就是那几个Visible是TRUE的页面同时显示出来,而显示的顺序就是第一页就是显示在最下面,最后一页就是显示在最上面。可以调整页面的次序位置。 页面的一个大用处就是做库图文件,一个库文件里面包括许多图元,那么图元的物理上是如何分开的,在VG里面就是用Sheet来分开,一个Sheet里面就是一个图元,所以当VG加载图库时,会从以一个页面转化为一个图元来加载里面所有的图元。 层的本质利用是图元分组,在VG里面有两种图元分组方式:硬分组、软分组。硬分组:一般的分层方式(在VG里面就是Sheet方式,只要把Sheet里面的Visible属性为TRUE),层与层之间的图元是没有任何连接与逻辑关系的,硬生生的把整个图形里面的图元分与若干组,也就是层了。软分组:单元组,页面上的图形可以自由分组,一个图形单元可以同时存在于多个单元组中,如果某单元删除,单元组自动更新(即从数组中删除该单元),不同单元组里面的图元可以连接拓扑。而AutoCAD中的层的概念就是VG中的单元组了。 |
-- 作者:qindian -- 发布时间:7/3/2009 10:35:00 AM -- 不知道对大家有没有一点启发,也没有人发言,暂且停止发内容。 |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
93.750ms |