函数说明: HandlePage Param,OldTagName,NewTagName 在主视图中根据不同的参数处理页面。 Param:页面参数,字符串; OldTagName:被替换的变量名称,字符串/数组,可以不设; NewTagName:替换的变量名称,字符串/数组,可以不设; 无返回值。
Param参数如下: /page:页面参数 如/page:sample,aaa.bsp;bbb.bsp; 脚本:sys.handlepage "/page:sample,aaa.bsp;bbb.bsp;" sample是/project/zt下的文件夹名;aaa.bsp和bbb.bsp是sample文件夹下的组态画面文件; 打开sample文件夹下的aaa.bsp及bbb.bsp 如/page:folder\aaa.bsp; 脚本:sys.handlepage "/page:folder\aaa.bsp;" folder是/project/zt下的文件夹名;aaa.bsp是folder文件夹下的画面文件; 打开folder文件夹下的aaa.bsp /size:是组态运行程序的位置尺寸参数,x坐标,y坐标,宽,高 如/size:0,0,700,700, 脚本:sys.handlepage "a.bsp; /size:0,0,700,700" 组态运行程序的顶点坐标为0,0,宽高为700,同时打开a.bsp页面 /notitle:不显示标题栏 组态运行程序不显示标题栏 脚本:sys.handlepage "a.bsp; /notitle" /noresize:不允许拉伸 组态运行程序不允许拉伸 脚本:sys.handlepage "a.bsp /noresize" /param:如果有参数,则会触发画面的OnNotifyMsg事件,并把参数传递给该事件 如/param:abcd, 脚本:sys.handlepage "a.bsp /param:abcd" 打开a.bsp同时向a.bsp传递abcd这个字符串,a.bsp的OnNotifyMsg事件会获取abcd这个字符串; /param2:OnNotifyMsg事件的第二个参数,整型 如/param2:1, 脚本:sys.handlepage "a.bsp /param:abcd /param2:1" 打开a.bsp同时向a.bsp传递abcd这个字符串和整数1,a.bsp的OnNotifyMsg事件会获取abcd这个字符串和整数1; 必须有/param:才能传递/param2 /pagesize:画面显示的位置参数,x坐标,y坐标,宽,高 如/pagesize:0,0,300,300 脚本:sys.handlepage "a.bsp /pagesize:0,0,300,300" 打开a.bsp且画面顶点位置为0,0,画面宽高为300 如果画面属性勾选了窗口自适应画布,则pagesize中设置的宽高将不生效; /closeothersbut:关闭其他画面除了 如/closeothersbut:a.bsp 脚本:sys.handlepage "b.bsp /closeothersbut:a.bsp" 打开b.bsp,同时关闭其他画面除了a.bsp /canvassize:设置画布大小 如/canvassize:200,200 脚本:sys.handlepage "a.bsp /canvassize:200,200" 打开a.bsp,画布大小为200,200 /pagetitle:设置画面标题 如/pagetitle:abcd 脚本:sys.handlepage "a.bsp /pagetitle:abcd" 打开a.bsp,并将画面标题设置为abcd /pagealias:新开一个窗口,并设置别名,如果一个画面需要同时打开多次,使用此方法 如/pagealias:a1 脚本:sys.handlepage "a.bsp" sys.handlepage "a.bsp /pagealias:a1" 则a.bsp打开了两次,其中有一个窗口的别名是a1,关闭窗口也需要通过别名 /closepages:a.bsp;b.bsp 关闭某个或多个页面 如/closepages:a.bsp;b.bsp 脚本:sys.handlepage "/closepages:a.bsp;b.bsp" 关闭a.bsp和b.bsp页面 脚本:sys.handlepage "/closepages:a.bsp /pagealias:a1" 关闭a.bsp且别名为a1的页面 /pageflag:0,a.bsp;b.bsp; 0,1,2,3,4显示、隐藏、最大化、最小化、恢复页面 如/pageflag:1,a.bsp;b.bsp; 脚本:sys.handlepage "c.bsp /pageflag:1,a.bsp;b.bsp;" 打开c.bsp的同时隐藏a.bsp和b.bsp /exactreplace 精确替换 配合OldTagName,NewTagName使用 脚本:sys.handlepage "a.bsp /exactreplace","scada1.taga","scada1.tagb" 打开a.bsp,并且a.bsp中动画关联了scada1.taga的变量替换成scada1.tagb,这是精确替换,即scada1.tagacc是不会被替换的 /pageparams:param1,param2,param3,param4 设置页面参数,最多四个 脚本:sys.handlepage "a.bsp /pageparams:p1" 打开a.bsp,并且设置页面参数即page.param1为p1 脚本:sys.handlepage "a.bsp /pageparams:p1,p2,p3,p4" 打开a.bsp,并且设置页面参数即page.param1为p1,page.param2为p2,page.param3为p3,page.param4为p4 /winpos:100,100 设置页面显示位置 脚本:sys.handlepage "a.bsp /winpos:100,100" 打开a.bsp,并且页面顶点位置在100,100上 /winsize:500,500 设置页面宽高 如/winsize:500,500 脚本:sys.handlepage "a.bsp /winsize:500,500" 打开a.bsp且画面宽高为500 如果画面属性勾选了窗口自适应画布,则设置的宽高将不生效; /mode:0,1 0 置于最顶层 1 showmodel /mode:1,title,left,top,width,height,1(关闭按钮灰化) 如/mode:0 脚本:sys.handlepage "a.bsp /mode:0" 打开a.bsp且页面置于最顶层 如/mode:1 脚本:sys.handlepage "a.bsp /mode:1" 以有模对话框的模式打开a.bsp页面 脚本:sys.handlepage "a.bsp /mode:1,title" 以有模对话框的模式打开a.bsp页面且标题为title 脚本:sys.handlepage "a.bsp /mode:1,title,100,100,300,300" 以有模对话框的模式打开a.bsp页面,标题为title,顶点坐标为100,100,宽高为300 脚本:sys.handlepage "a.bsp /mode:1,title,100,100,300,300,1" 以有模对话框的模式打开a.bsp页面,标题为title,顶点坐标为100,100,宽高为300,且对话框右上角的关闭图标灰化 /translate:ZH_TW 设置页面语言 如/translate:ZH_TW 脚本:sys.handlepage "a.bsp /translate:ZH_TW" 打开a.bsp且自动切换画面语言为繁体中文,需要存在该画面的繁体中文语言文件 其他脚本如 sys.handlepage "b.bsp" sys.HandlePage "/page:aaa.bsp;bbb.bsp; /param:notifymsg /param2:1" sys.HandlePage "/page:sample,aaa.bsp;bbb.bsp; /size:0,0,700,700, /notitle /noresize" sys.HandlePage "/page:sample,aaa.bsp;bbb.bsp; /size:0,0,700,700, /notitle /noresize /param:notifymsg /param2:1" sys.HandlePage "abc\b.bsp" sys.HandlePage "a.bsp","tag1","tag2" sys.handlepage xxx.bsp "object_1" "object_2"
举例1: 通过a页面的一个按钮打开b页面,并传递两个参数 在a.bsp的画面中加载一个Button对象,在脚本编辑器中编辑该Button的Click事件如下: Sub BSButton1_OnClick() sys.HandlePage "/page:b.bsp; /param:notifymsg /param2:1" End Sub 在b.bsp的画面的脚本编辑器中编辑OnNotifyMsg事件如下: Sub page_OnNotifyMsg(strParam, nParam2) MsgBox strParam MsgBox nParam2 End Sub 运行a.bsp画面,点击Button,b.bsp打开,并弹出消息框notifymsg和1。
举例2: 通过a页面的一个按钮打开b页面,设置b页面的大小、位置及标题,并将b页面关联动画中的taga替换成tagb 在a.bsp的画面中加载一个Button对象,在脚本编辑器中编辑该Button的Click事件如下: Sub BSButton1_OnClick() sys.HandlePage "/page:b.bsp; /pagetitle:test /pagesize:100,100,300,300","taga","tagb" End Sub
举例3: 通过a页面的BSButton1按钮打开b页面,并将b页面关联动画中的taga替换成tagb,tagc替换成tagd 在a.bsp的画面中加载一个Button对象,在脚本编辑器中编辑该Button的Click事件如下: Sub BSButton1_OnClick() Dim a a = Array("taga","tagc") Dim b b = Array("tagb","tagd") sys.HandlePage "/page:b.bsp",a,b End Sub
举例4: 通过a页面的BSButton1按钮打开b页面,设置b页面的标题为test,BSButton2按钮打开另一个b页面,设置标题为test2, BSButton3按钮关闭两个b页面 在a.bsp的画面中加载三个Button对象,在脚本编辑器中编辑该Button的Click事件如下: Sub BSButton1_OnClick() sys.HandlePage "/page:b.bsp; /pagetitle:test" End Sub Sub BSButton2_OnClick() sys.HandlePage "/page:b.bsp; /pagetitle:test2 /pagealias:2" End Sub Sub BSButton3_OnClick() sys.HandlePage "/closepages:b.bsp" sys.HandlePage "/closepages:b.bsp /pagealias:2" End Sub
举例5: 通过a页面的BSButton1按钮以有模对话框的方式打开b页面,设置标题为test,并将b页面关联动画中的taga替换成tagb 在a.bsp的画面中加载Button对象,在脚本编辑器中编辑该Button的Click事件如下: Sub BSButton1_OnClick() sys.HandlePage "/page:b.bsp; /mode:1,test,100,100,300,300","taga","tagb" End Sub
举例6: c、d页面已打开,通过a页面的BSButton1按钮打开b页面,并关闭c、d页面,不关闭a页面 在a.bsp的画面中加载Button对象,在脚本编辑器中编辑该Button的Click事件如下: Sub BSButton1_OnClick() sys.HandlePage "/page:b.bsp; /closeothersbut:a.bsp" End Sub
举例7:通过一个页面的BSButton1按钮打开b的画面的同时,将b界面的对象object_1替换成object_2。 Sub BSButton1_OnClick() sys.handlepage b.bsp "object_1" "object_2" End Sub
|