新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 本版讨论SVG, GML, X3D, VRML, VML, XAML, AVALON, Batik等基于XML的图形技术,以及有关GIS的应用。
    [返回] 中文XML论坛 - 专业的XML技术讨论区XML.ORG.CN讨论区 - 高级XML应用『 SVG/GML/VRML/X3D/XAML 』 → [分享]visual graph专栏 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 37118 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: [分享]visual graph专栏 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     qindian 帅哥哟,离线,有人找我吗?
      
      
      等级:大二期末(Java考了96分!)
      文章:86
      积分:489
      门派:XML.ORG.CN
      注册:2008/9/1

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给qindian发送一个短消息 把qindian加入好友 查看qindian的个人资料 搜索qindian在『 SVG/GML/VRML/X3D/XAML 』的所有贴子 引用回复这个贴子 回复这个贴子 查看qindian的博客楼主
    发贴心情 [分享]visual graph专栏

    严格听取版主建议,专门开设一个visual graph专栏,请各位技术人员支持。如有不对请提出,会尽快进行改。谢谢。
    首先讲解一下visual graph的应用领域:
    Visual Graph工业图形系统,此产品经过长期研发,包含了大量的创新技术,系统具有尺寸小(不到300K)、功能丰富、灵活性高、稳定可靠等突出优点,特别适合于WEB上的软件开发,是国产软件中比较罕见的精品,目前已经广泛应用于电力、煤炭、化工、仿真、通信、自动化监控、地理信息系统、报表开发等许多领域。
    提供官方下载地址:http://www.visual-graph.com
    一些典型用户列表: 国电自动化研究院,南京南瑞集团公司 南京东大金智电气自动化有限公司 深圳市国电信息技术股份有限公司 国电南京自动化股份有限公司 江苏河海大学电力软件有限公司 江苏常州东瑞电力软件公司 重庆跨越集团宏泰电力软件公司 北京高阳万为电力信息技术有限公司 南京四方亿能公司 深圳腾鹰软件有限公司 北京百联优力软件有限公司 杭州人和软件开发有限公司 昆明东电科技有限公司 杭州朗新软件有限公司


    以下的贴子会经常更新。为下载的朋友提供一个入门的技术支持。


    1。图库的使用

    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, "垂直刀闸"

    七、运行,测试。


       收藏   分享  
    顶(0)
      




    ----------------------------------------------
    http://www.visual-graph.com

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/3/25 13:51:00
     
     qindian 帅哥哟,离线,有人找我吗?
      
      
      等级:大二期末(Java考了96分!)
      文章:86
      积分:489
      门派:XML.ORG.CN
      注册:2008/9/1

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给qindian发送一个短消息 把qindian加入好友 查看qindian的个人资料 搜索qindian在『 SVG/GML/VRML/X3D/XAML 』的所有贴子 引用回复这个贴子 回复这个贴子 查看qindian的博客2
    发贴心情 
    有人下载试用吗,今天再来贴第二讲

    元件的变形

    在下面这个例子中,我们介绍如何对元件设计特定的变形方法。

    先绘制三个矩形,排列如下:

    这个图形是由两边的两个矩形A和B以及中间的一个矩形C组合而成。

    把三个图形组合起来形成一个元件。

    我们试着用鼠标拉伸一下这个元件,图形变成这样:

    可见,元件的变形在默认状态下是内部各图形等比例变形的。

    如果我们希望图形拉伸时变成下面这样,A和B不变形,只是B移位,C变形,应该怎么办呢?

    在元件上方按右键,选择菜单“进入编辑元件”,在函数事件中找到OnResize事件,编写如下代码:

    A.SetBounds( Left, Top, A.Width, Height )
    B.SetBounds( Right - B.Width, Top, B.Width, Height )
    C.SetBounds( A.Right, Top + Height / 2 - C.Height / 2, Width - A.Width - B.Width, C.Height )

    这个事件中的程序,即使在绘图状态下也执行。当我们用鼠标拉伸元件,改变其大小的时候就执行上面的代码。

    图贴不上。。。。

    ----------------------------------------------
    http://www.visual-graph.com

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/3/26 9:48:00
     
     qindian 帅哥哟,离线,有人找我吗?
      
      
      等级:大二期末(Java考了96分!)
      文章:86
      积分:489
      门派:XML.ORG.CN
      注册:2008/9/1

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给qindian发送一个短消息 把qindian加入好友 查看qindian的个人资料 搜索qindian在『 SVG/GML/VRML/X3D/XAML 』的所有贴子 引用回复这个贴子 回复这个贴子 查看qindian的博客3
    发贴心情 
    第三讲       对选中的图形进行编辑

    在VB中对选中的图形进行编辑

    在设计绘图界面的时候,我们经常需要对选中的图形进行编辑。下面我们以VB为例,说明使用方法:

    一、在VB中建立一个新的工程,在左侧工具栏上按右键,选择菜单“部件”,添加Visual Graph控件。

    二、在窗口上添加Visual Graph ActiveX Control控件,这个控件将用来画图。

    三、在Form_Load中写如下代码:

    vgctrl1.Design ""
    set d = vgctrl1.vg.ActiveSheet.AddUnit( 0, "circle" )
    d.SetBounds 10, 10, 40, 40
    set d = vgctrl1.vg.ActiveSheet.AddUnit( 0, "circle" )
    d.SetBounds 60, 10, 40, 40
    set d = vgctrl1.vg.ActiveSheet.AddUnit( 0, "circle" )
    d.SetBounds 110, 10, 40, 40

    四、在Visual Graph控件的OnSelectChange事件中写如下代码:
    dim g as IGroup
    dim d as IUnit
    dim s as string
    set g = vgctrl1.vg.ActiveSheet.Selection
    s = "一共选中了:" + CStr( g.UnitCount ) + "个图形。"
    if g.UnitCount > 0 then
    s = s + "其中第一个选中的图形是:" + g.Units( 0 ).Name
    end if
    Caption = s

    五、运行这个程序,用鼠标选中画面上的两个图形。

    ----------------------------------------------
    http://www.visual-graph.com

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/3/30 10:53:00
     
     qindian 帅哥哟,离线,有人找我吗?
      
      
      等级:大二期末(Java考了96分!)
      文章:86
      积分:489
      门派:XML.ORG.CN
      注册:2008/9/1

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给qindian发送一个短消息 把qindian加入好友 查看qindian的个人资料 搜索qindian在『 SVG/GML/VRML/X3D/XAML 』的所有贴子 引用回复这个贴子 回复这个贴子 查看qindian的博客4
    发贴心情 [原创]
    用的过程中遇到什么技术问题的话,请发到论坛里来,会即时帮您解决
    第四讲
    可移动标签

    观察下面这个元件,它有一个文字标签,标签上有一个点,鼠标拖动这个点,可以改变标签的位置,标签和调控点都在图形选择框外面。

    下面说明制作方法:

    一、在集成开发环境中新建一个图形文件,画面上放一个“水平开关”元件。该元件在系统Lib子目录下的“电力设备.tbl”里。

    二、这个元件没有带文字标签,我们想办法改进一下它。

    三、在元件上按右键选择“编辑元件”,打开一个新的窗口,我们现在已经“进入”元件的“内部”了,现在我们看到的页面就是外面看到的那个“水平开关”。

    四、在左侧图库列表的基本图形中选择文字单元,鼠标在画面上单击添加一个文字单元,(这个文字单元是无边框的,它的Border属性为0,如果画的时候鼠标在页面上拉框,则创建的文字单元有边框)

    五、在左侧图库列表的基本图形中选择线条单元,鼠标到上面这个文字单元的中间按下左键再立即按下右键,则在文字单元上面添加了一个只有一个点的线条Line3。

    六、在右侧的函数事件中找到OnNodeChange,双击,编写下面的代码:

    Text1.MoveTo(Sender.X[0]-Text1.Width/2,Sender.Y[0]-Text1.Height/2)

    七、选择文字单元和线条单元,单击工具栏上的“锁定”。锁定的图形在图元中将不被选中。

    八、选择菜单“文件/保存”,其实这里的保存并非保存到文件或硬盘,而是更新了元件。接着,关闭窗口。

    九、测试这个元件,我们看到元件上现在带了一个文字标签,移动元件,标签跟着移动。标签上面有一个黄色的菱形,拖动,标签跟着移动。

    ----------------------------------------------
    http://www.visual-graph.com

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/4/1 10:58:00
     
     qindian 帅哥哟,离线,有人找我吗?
      
      
      等级:大二期末(Java考了96分!)
      文章:86
      积分:489
      门派:XML.ORG.CN
      注册:2008/9/1

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给qindian发送一个短消息 把qindian加入好友 查看qindian的个人资料 搜索qindian在『 SVG/GML/VRML/X3D/XAML 』的所有贴子 引用回复这个贴子 回复这个贴子 查看qindian的博客5
    发贴心情 
    技术师们如果 有试用的,遇到问题或者想了解哪方面的问题都 发到这里来
    今天第五讲
    在运行状态下用鼠标拖动图形

    操作步骤如下:

    一、在集成开发环境中新建一个文件,然后在页面上画一个圆( 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

    六、选择菜单“程序/运行”。鼠标即可拖动这个圆。

    ----------------------------------------------
    http://www.visual-graph.com

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/4/8 11:16:00
     
     qindian 帅哥哟,离线,有人找我吗?
      
      
      等级:大二期末(Java考了96分!)
      文章:86
      积分:489
      门派:XML.ORG.CN
      注册:2008/9/1

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给qindian发送一个短消息 把qindian加入好友 查看qindian的个人资料 搜索qindian在『 SVG/GML/VRML/X3D/XAML 』的所有贴子 引用回复这个贴子 回复这个贴子 查看qindian的博客6
    发贴心情 
    也不知道大家在用了没有,怎么没人帮忙顶呢!!!
    不管了,今天进行第六讲
    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()
    vgctrl1.Run "e:\test.tbl"
    End Sub

    五、在控件的OnCommand事件中写:

    Private Sub vgctrl_oncommand( ByVal AUnit As vg.IUnit, ByVal ACommand As String )
    MsgBox AUnit.Name + " " + ACommand
    end sub

    六、运行这个程序,鼠标单击椭圆,即执行上面的那个事件OnCommand。

    ----------------------------------------------
    http://www.visual-graph.com

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/4/15 10:06:00
     
     qindian 帅哥哟,离线,有人找我吗?
      
      
      等级:大二期末(Java考了96分!)
      文章:86
      积分:489
      门派:XML.ORG.CN
      注册:2008/9/1

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给qindian发送一个短消息 把qindian加入好友 查看qindian的个人资料 搜索qindian在『 SVG/GML/VRML/X3D/XAML 』的所有贴子 引用回复这个贴子 回复这个贴子 查看qindian的博客7
    发贴心情 
    好像好久没有更新了,呵呵,大家也没人帮忙顶

    ----------------------------------------------
    http://www.visual-graph.com

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/5/14 11:34:00
     
     qindian 帅哥哟,离线,有人找我吗?
      
      
      等级:大二期末(Java考了96分!)
      文章:86
      积分:489
      门派:XML.ORG.CN
      注册:2008/9/1

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给qindian发送一个短消息 把qindian加入好友 查看qindian的个人资料 搜索qindian在『 SVG/GML/VRML/X3D/XAML 』的所有贴子 引用回复这个贴子 回复这个贴子 查看qindian的博客8
    发贴心情 
    Microsoft Visio和Visual Graph比较
      都是绘图工具,都包含非常丰富的图形元件库。图形之间都有拓扑关系。都支持脚本编程。两种软件的图形都支持互相拷贝。前者的每个图形元件库都是外挂的插件,整个系统庞大,适合办公使用;后者的每个图形元件库都是普通的图形文件,整体尺寸小,适合web使用。前者只用来绘图,后者还可以运行。

    Macromedia Flash和Visual Graph比较
      都是对矢量图进行操纵,图形可以编程,也可以动作,都支持脚本语言,都有专门的播放器。前者侧重于界面效果,可以开发动画;后者侧重于实际行业应用,图形可以驱动,发生状态变化,但不是动画。可以处理大型矢量图形、中文表格等,图形之间建立拓扑关系。

    Autocad和Visual Graph比较
      都可以对矢量图形进行编辑,前者适合行业制图领域,提供的画图方法很方便。后者适合软件公司开发自己的绘图系统,一般是可控的、面向对象的图形系统。

    组态软件和Visual Graph比较

      都能对矢量图进行操纵,都支持开发和运行。都可以做工业人机界面,都可以开发工业应用。前者是应用软件,面向最终用户,后者是开发平台,面向软件公司。前者设备图库都需要专业人员开发,后者设备图库只是普通的图形文件,前者适合做应用,后者适合在web上发布。

    报表组件和Visual Graph比较
      都可以制作报表,都有设计和预览,表格有丰富的操纵方式。前者一般均是傻瓜式报表,模板均以规定好,矢量图形能力弱,后者适合软件公司开发自己的报表系统,模板需要自己设计,适合做含矢量图形的报表、中国式的报表或一般软件无法完成的报表。

    ----------------------------------------------
    http://www.visual-graph.com

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/5/25 15:44:00
     
     qindian 帅哥哟,离线,有人找我吗?
      
      
      等级:大二期末(Java考了96分!)
      文章:86
      积分:489
      门派:XML.ORG.CN
      注册:2008/9/1

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给qindian发送一个短消息 把qindian加入好友 查看qindian的个人资料 搜索qindian在『 SVG/GML/VRML/X3D/XAML 』的所有贴子 引用回复这个贴子 回复这个贴子 查看qindian的博客9
    发贴心情 
    看的朋友不少,有没有试用呀?有问题的可以发表到论坛里,及时帮你解决???

    ----------------------------------------------
    http://www.visual-graph.com

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/5/27 9:44:00
     
     qindian 帅哥哟,离线,有人找我吗?
      
      
      等级:大二期末(Java考了96分!)
      文章:86
      积分:489
      门派:XML.ORG.CN
      注册:2008/9/1

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给qindian发送一个短消息 把qindian加入好友 查看qindian的个人资料 搜索qindian在『 SVG/GML/VRML/X3D/XAML 』的所有贴子 引用回复这个贴子 回复这个贴子 查看qindian的博客10
    发贴心情 
    调试元件

    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
    FValue = AValue
    Rect3.Height = Rect1.Height * FValue / 100
    Rect3.Top = Rect1.Top + Rect1.Height - Rect3.Height
    end if

    八、关闭并保存文件,这个操作其实是更新元件。

    九、这时候,我们可以测试这个气温计,它的Value属性不能随便输入其它值了。

    ----------------------------------------------
    http://www.visual-graph.com

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/5/31 10:00:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 SVG/GML/VRML/X3D/XAML 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/11/26 9:47:19

    本主题贴数13,分页: [1] [2]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    109.375ms