VG插件的ActiveX接口
ActiveX接口由接口类、接口属性、接口函数、接口事件组成COM组件提供的接口类库和VG内部脚本类库在形式上非常相似,掌握了ActiveX接口类库就能用脚本语言编程,而学会脚本语言,也就会使用COM接口了。下面列出所有类库接口:
COM接口
名称
说明
Ivgctrl
视图类
COM组件本身
ISheet
页面类
一个图形文件可以包含多个页面,ActiveSheet得到当前工作页面,页面是从元件单元类继承下来的
IUnit
图形单元类
页面上的所有图形都是图形单元类
IText
文字单元类
从图形单元类继承下来
IShape
形状单元类
从图形单元类继承下来
ILine
线条单元类
从图形单元类继承下来
IElement
元件单元类
从图形单元类继承下来
IGroup
单元组类
一个页面上可以建立多个单元组,实际上就是页面图形的子集。
VG所提供的接口类是具有面向对像的继承关系的,其继承关系图请看9.2小节
ActiveX接口属性、函数和事件:
函数
语法
描述
AboutBox
void=AboutBox()
显示版本信息
Execute
variant=Execute(string)
执行脚本语句,并返回一个值(如果脚本最后有return语句的话),脚本语句可以是多行的长串。
示例:
Execute( "Print()" )打印视图当前页。
Execute( "ActiveSheetIndex=2" )页面翻到第三页(0是第一页)。
Execute( "Text1.Text='Hello'" )设置某文字单元的文字内容。
Execute( "Sheet2.Text1.Text='Hello'" )设置Sheet2页上某文字单元的内容。
Execute( "x=2;y=3;return x+y" )返回5。
Execute( "s='ABC';return s" )返回"ABC"。
Design
void=Design(string)
设计一个视图,参数指定视图的文件名。
默认视图文件名后缀“.tbl”,也可以不写
如果参数是空串"",表示设计一个新的视图文件(未命名)。
Run
void=Run(string)
运行一个视图,参数指定视图的文件名。
默认视图文件名后缀“.tbl”,也可以不写
如果参数是空串"",表示设计一个新的视图文件(未命名)。
AddFunction
void=AddFunction(string, string, int, long)
该函数属于高级应用,给VG脚本体系添加一个内部函数。利用此函数可以扩充脚本语言的能力。
第一个参数是函数的名字(32个字符以内);
第二个参数是参数类型,串中每一个字符代表一个参数类型
1-整数(Int)
2-小数(Double)
3-逻辑型(bool)
4-字符串(string)
比如有( Int,double )做为函数参数时,就用"12"表示。
第三个参数是返回值类型
如49('1'的ASC码)表示返回一个整数。
此外,如果没有返回值,用48('0'的ASC码)表示。
第四个参数是函数地址。
在C语言中,函数名就是函数地址。
在Pascal语言中,函数名前加“@”表示地址。
在Visual Basic语言中,AddressOf运算符能返回函数或者过程的地址。
事件
语法
描述
OnAddSheet
void=OnAddSheet(Sheet)
当新增一个页面后执行。Sheet是新的页面。
OnAddUnit
void=OnAddUnit(Unit)
当新增一个图形后执行。Unit是新图形对象。
OnClick
void=OnClick()
鼠标单击时执行。可以用页面的UnitAtCursor函数得到单击的图形。设计时无效。切勿在此事件里面执行Design或者Run,因为这两个函数执行时,都是先把原来画面上的图形清除,再载入新的图形。这将导致正在执行的程序被释放,出现错误,
OnCommand
void=OnCommand(Unit,String)
当执行DoCommand脚本函数时触发此事件。
OnDblClick
void=OnDblClick()
鼠标双击时执行。
OnDeleteSheet
void=OnDeleteSheet(Sheet)
当删除一个页面时执行。Sheet是要删除的页面。
OnDeleteUnit
void=OnDeleteUnit(Unit)
当删除一个图形时执行。Unit是要删除的图形对象。
OnError
void=OnError(Msg)
捕获软件错误。Msg是错误信息。
OnKeyDown
void=OnKeyDown(Key)
当按下键盘时执行。
OnLButtonDown
void=OnLButtonDown( X, Y )
鼠标左键按下时执行。X,Y表示鼠标的视图坐标。
OnLButtonUp
void=OnLButtonUp( X, Y )
鼠标左键释放时执行。X,Y表示鼠标的视图坐标。
OnModifyChange
void=OnModifyChange(Modified)
当视图被修改或存盘后执行。Modified是逻辑型值,当前视图是否已被修改。
OnMouseMove
void=OnMouseMove( X, Y )
鼠标移动时执行。X,Y表示鼠标的视图坐标。
OnMouseWhell
void=OnMouseWheel(Forward)
当滚动鼠标滚轮时执行,Forward是逻辑型,表示滚动的方向。
OnOrgChanged
void=OnOrgChanged()
视图原点位置相对屏幕窗口发生改变时执行此事件。比如滚动条位置变化。
OnRButtonDown
void=OnRButtonDown( X, Y )
鼠标右键按下时执行。X,Y表示鼠标的视图坐标。
OnSelectChange
void=OnSelectChange()
当选择组变化时执行,例如选中一个图形或者选中的图形属性发生改变等。
OnSheetChange
void=OnSheetChange(Sheet)
页面切换后执行。Sheet表示切换的页面。
OnZoomChange
void=OnZoomChange(Zoom)
视图缩放后执行。Zoom表示当前的放大率。