线条单元 属性函数

  图形单元

1、线条的画法

一、线条有多种画法,对应于NewUnit函数的多个参数,分别是画直线、折线、多边形、贝赛尔曲线、自由画、直线连接线、折线连接线、曲线连接线、连接点。各种画法都有不同,例如下面是在集成开发环境中画折线的方法:

选择折线工具,鼠标形状变成十字,在页面内任一点按下鼠标左键并拖动鼠标到第二点、松手、再按下、移动鼠标到第三点、松手...如此重复多次,在最后一点处单击鼠标右键或按Enter键即可绘制一条折线,如果画图过程中按了ESC键,则取消操作。

折线只有两个顶点时就是直线。当折线的网纹不为零时,折线变为多边形。折线允许只有一个点,在画只包含一个点的折线时,只要用鼠标在工作区按下左键再立即按下右键即可。贝赛尔曲线和折线的区别在于顶点的属性值不同,Bytes数组描述了每一个点的属性值。

默认情况下,这样画出来的线条是黑色的,如果需要使画出来的线条为其他颜色,可修改系统参数SystemParams.DefaultLineColor。

二、用页面的AddUnit函数动态创建线条,其中第一个参数是"line",这样创建的线条有两个顶点,如果需要设置顶点个数,可以修改线条的PointCount属性,然后再设置每个顶点的坐标,最后调用Refresh函数刷新线条单元的轮廓。例如,下面的Visual Graph脚本语句创建一个梯形:

d = ActiveSheet.AddUnit( "line", 0, 0, 0, 0 )
d.PointCount = 5
d.X[0] = 24; d.Y[0] = 0
d.X[1] = 96; d.Y[1] = 0
d.X[2] = 120; d.Y[2] = 56
d.X[3] = 0; d.Y[3] = 56
d.X[4] = 24; d.Y[4] = 0
d.Refresh()

三、用LoadFromBuffer函数从字符串动态创建图形。

2、线条的编辑

当线条的SelectMode为0时,线条被选择后,有八个方框在四边,可以用鼠标改变线条单元的宽度、高度。形如:

当线条的SelectMode为1时,线条被选择后,可以对每个顶点进行移动。如下图:

绿色圆圈一端代表线条的起点,绿色菱形一端是终点。

在集成开发环境中,选择菜单“线条/增加顶点”,将鼠标移动到线条上要添加顶点的位置,单击鼠标左键,添加顶点。函数AddPoint实现相同的功能。

选择菜单“线条/删除顶点”将鼠标移动到线条上的顶点处,单击鼠标左键,删除顶点。函数DeletePoint实现相同的功能。

选择菜单“线条/打断线条”,将鼠标移动到线条或顶点上,鼠标变成叉时,单击左键,线条被打断,在打断处多了一个线条起点。函数SplitLine实现相同的功能。

选择菜单“线条/合并线条”,将鼠标移动到被打断的线条的顶点处,单击左键,被打断的线条在此连起来。函数MergeLine实现相同的功能。

选择菜单“线条/直线和曲线转换”,将鼠标移动到线条上,单击左键,如果所在线条部分是直线段,则该段变成贝塞尔曲线,如果所在线条部分是贝塞尔曲线段,则该段变成直线段。函数ChangeLine实现相同的功能。

当鼠标移动到某贝塞尔曲线段的顶点处时,该顶点处出现一个或两个控制点,允许鼠标拖动该控制点,修改曲线的形状。如下图:

观察顶点A、B、C,当鼠标移动B顶点时,另外两个顶点也随之移动,使得这三个顶点始终在一条直线上,也就是说曲线保持平滑。

如果在移动其中一个顶点的时候按下Shift键,另外两个顶点则不会随之移动。

3、普通线条与连接线

当设置线条的LinkMode属性为非0时,该线条可以和其他图形相连,当设置保护Protect为禁止断开连接时,用鼠标移动的方法无法断开线条和其他图形的连接关系。在设计元件时,每个连接线的末端将成为未来元件连接点的位置。

4、线条的箭头

折线具有箭头属性,属性StartArrow和EndArrow改变箭头的形状,箭头位于折线起点和终点处,多边形没有箭头。

打开dat目录下的arrows.tbl文件,该文件每个页面的内容代表一种箭头的形状,用户可在其中对箭头进行添加、删除、修改。

上图表示某个箭头正在被编辑,下图表示该箭头在使用时的状况。由图可见,箭头的旋转中心现在恰好在线段的顶点处。

一旦添加或删除某种箭头,整个系统的箭头都会发生改变,因此,最好重新启动软件。

5、线条偏移

线条有偏移属性LineOffset,我们可以通过它来绘制双线。

6、线上图标

所谓线上图标(LineIcon)是指可以在每条线段上,添加需要的图标。当LineIcon为0时,没有线上图标。当该值不为0时,从dat目录的arrows.tbl文件中寻找一个箭头形状作为线上图标。当LineIconLocation为0时,图标被绘制在整条线的中部,当该属性值为1时,图标被绘制在每段线的中部,箭头的旋转中心将位于折线的中点处,当该属性值为2时,图标布满整条线段。线条顶点移动时,图标自动按照线条的方向旋转。如下图:

这个功能也是非常实用的,利用这个功能可以画出种类繁多的线段,如下图:

下面我们在集成开发环境中做一个复杂一点的线上图标,该图标是用四条线段组成的一个形状:

单击“工具/查看源文件”,在弹出的“源文件编辑器”中,找到我们新添加的这个页面,发现里面有四条线,如下:

<sheet name="sheet1">
<line name="line1" origin="30,20">
<points>
22,16,6
22,24,2
38,24,2
</points>
</line>
<line name="line2" origin="30,22">
<points>
30,24,6
30,20,2
</points>
</line>
<line name="line3" origin="30,32">
<points>
22,36,6
22,28,2
38,28,2
</points>
</line>
<line name="line4" origin="30,30">
<points>
30,28,6
30,32,2
</points>
</line>
</sheet>

我们将后面三条线中描述性的部分删去,只留下第一条线和其他各线的数字坐标值,刷新后,页面中图形就成为一条线。

<sheet name="sheet1">
<line name="line1" origin="30,20">
<points>
22,16,6
22,24,2
38,24,2
30,24,6
30,20,2
22,36,6
22,28,2
38,28,2
30,28,6
30,32,2
</points>
</line>
</sheet>

将arrows.tbl保存,再重启软件,图标就添加成功了。

这时候就可以利用LineIcon属性,在所画的线段上添加图标了。同时还可以通过调节LineIconLocation属性,来调节线段的类型,以达到需要的效果。例如设置LineIconLocation=2,线上图标布满整条线段:

当图形的LineWidth属性变化的时候,线上图标会自动放大或者缩小。当图形的LineColor属性改变时,图标颜色也改变。

与顶点箭头不同的是,当线条类的Pattern属性不为0时,线上图标属性仍然起作用。

7、顶点图标

顶点图标(JoinIcon)是在除起点和终点以外的其它顶点添加的图形符号。当JoinIcon为0时,没有顶点图标。当该值不为0时,从dat目录的arrows.tbl文件中寻找一个箭头形状作为线上图标。以下这条三个顶点的线条有一个顶点图标属性。

当图形的LineWidth属性变化的时候,顶点图标会自动放大或者缩小。当图形的LineColor属性改变时,顶点颜色也改变。

8、事件

在脚本语言体系内,每个图形都有自己的各种事件,参见事件



回首页 软件简介 应用领域 技术特点 文件说明 集成开发环境 基本操作 系统参数 语法体系 activex技术文档 视图文件 页面 单元组 图形单元 文字单元 形状单元 折线单元 元件单元?VG在Delphi中的使用方法 VG在VB中的使用方法 VG在VC中的使用方法 VG在C#中的使用 Delphi Visual Basic Visual C++ C# Visual Basic .Net调用Visual Graph的函数 调试元件 自定义Visual Graph脚本语言 在运行状态下用鼠标拖动图形 图库的使用
基于Visual Graph快速开发井下人员定位系统 如何快速开发图形仿真软件系统 自已开发组态软件(one can do it) 工程平面图制作系统 工作流与图形系统 安全监测系统联网解决方案 矿井人员考勤定位系统简介 配电技术信息管理系统 线损管理系统解决方案 DR-DTS 调度员反事故演习培训仿真系统 调度自动化系统应用软件 福州电网无功电压 AVC 控制系统 马鞍山地区电网无功电压综合优化自动控制系统 变电站图形开票系统 DR-OTS电网调度智能防误操作系统 配网调度智能模拟操作系统 基于Visual Graph的电力系统图形开发

http://www.visual-graph.com

@2004-2007 北京图王Visual Graph.版权所有.