quote:以下是引用dcount107在2009-08-21 09:28:33的发言:quote:以下是引用城外之人在2009-08-21 07:51:23的发言:
如何定义当前画面、父画面、基画面、其它画面上的对象?这是编程中经常遇到的问题。
还有,用Web Navigator发布的画面,引用又有不同,还请大家在此一一列出,作个总结!
VBS访问主画面的方法,以下三种方法均可,需要注意画面名称不要有.pdl后缀:
Set objScreen = HMIRuntime.Screens(1)
Set objScreen = HMIRuntime.Screens("")
Set objScreen = HMIRuntime.Screens("BaseScreenName")
VBS访问当前画面对象,可省略Screens:
Set MyObj = ScreenItems("ObjectName")
相信大家都用过画面窗口这个控件,主要用于主画面导航、操作面板等,VBS访问子画面中的对象相当麻烦,非得把画面的路径写全了才行,非常讨厌。比如:
Set objScreen = HMIRuntime.Screens("BaseScreenName.ScreenWindow:ScreenName")
如果有多层画面窗口嵌套,就会类似于下面的语句:
Set objScreen = HMIRuntime.Screens("Main.PicWind1:A.PicWind2:B")
如果你使用的是标准PCS7界面,怎是一个烦字了得,呵呵。
这点不知道在新版本中有没有改进,或者目前有没有更好的解决办法?
C脚本则不存在这样的问题,比如SetText(lpszPictureName,lpszObjectName,szText);中的
lpszPictureName只需要填写画面的名称即可。当然lpszPictureName也可以按照VBS这种写法。
WebNavigator没有动手试过,不好妄下评论。