显示隐藏VG标尺(XRuler、YRuler)
在VG绘图里面,其标尺已经被作成TBL文件了,那么你就可以自定义自己的标尺来使用,首先,要使用标尺,那么就要先看一下VB60的例子:标尺;其设计界面如下:
原理就是在FORM里面放两个VG插件,一个用放在顶端用来运行X标尺(dat\XRuler.tbl),一个是放在左边,用来运行Y标尺(dat\YRuler.tbl)然后把主画面VG插件的事件挂靠里面控制(dat\XRuler.tbl与dat\YRuler.tbl),其整个标尺运行的代码如下:
Private Sub ChangeRuler()’触发XRuler.tbl与YRuler.tbl里自定义的标尺变化函数
vgctrl2.Execute "ChangeRuler()"
vgctrl3.Execute "ChangeRuler()"
End Sub
Private Sub Form_Load()
s = vgctrl1.Execute("return SystemParams.DefaultPath")’获得当前VG的默认系统目录路径
vgctrl2.Run s + "xruler.tbl"’获得当前VG的里面的Xruler.tbl文件路径,并运行于上边的VG插件
vgctrl3.Run s + "yruler.tbl"’获得当前VG的里面的Yruler.tbl文件路径,并运行于左边的VG插件
vgctrl1.Design ""’主VG画图新建一张图
vgctrl2.ActiveSheet.SetPropertyValue "cursheet", vgctrl1.ActiveSheet’设主画面的当前页于Xruler
vgctrl3.ActiveSheet.SetPropertyValue "cursheet", vgctrl1.ActiveSheet’设主画面的当前页于Yruler
ChangeRuler’触发XRuler.tbl与YRuler.tbl里自定义的标尺变化函数
vgctrl1.MoveSheet’图形漫游、手抓图
End Sub
Private Sub Form_Resize()’对窗口的Resize事件进行调整左边与右边的高与宽、主画面的大小
vgctrl1.Left = vgctrl3.Left + vgctrl3.Width
vgctrl1.Top = vgctrl2.Top + vgctrl2.Height
vgctrl2.Width = Me.ScaleWidth - vgctrl3.Width
vgctrl3.Top = vgctrl1.Top
vgctrl3.Height = Me.ScaleHeight
vgctrl1.Width = Me.ScaleWidth - vgctrl3.Width
vgctrl1.Height = Me.ScaleHeight - vgctrl2.Height
End Sub
Private Sub vgctrl1_OnMouseMove(ByVal x As Double, ByVal y As Double) ’用来触发标尺的自定义的鼠标移动事作,以使标尺上的那个小黑三角形进行移动。
vgctrl2.Execute "MouseMove()"
vgctrl3.Execute "MouseMove()"
End Sub
Private Sub vgctrl1_OnOrgChanging()’当主画面里面的原点变化时,改变标尺状态
ChangeRuler
End Sub
Private Sub vgctrl1_OnZoomChange(ByVal Zoom As Double) ’当主画面的Zoom变化时,改变标尺状态
ChangeRuler
End Sub
标尺的变化只涉及到三个事件:OnMouseMove、OnOrgChanging、OnZoomChange。其对标尺的支持,在其他计算机语言环境、WEB上也是如此对这几个事件进行控制标尺。
下载请点击:http://www.visual-graph.com/