wincc多层画面调用
在子画面Child_3中显示父画面GetParentName画面中的数据。在子画面child_3中,我画了一个圆,按下按钮pwd,弹出对话框显示圆的父画面GetParentName的名称和大小。
1.在Get Parent Name中绘制画面窗口,调用画面Child_1.pdl.
2.在Child_1.pdl画面中绘制画面窗口,调用画面Child_2.pdl.
3.在Child_2.pdl画面中绘制画面窗口,调用画面Child_3.pdl.
4.在Child_3.pdl中绘制按钮pwd和一个圆。
5.pwd按钮事件中编写VBS脚本.
脚本如下:
Sub OnLButtonDown(ByVal Item, ByVal Flags, ByVal x, ByVal y)
Dim Mycircle
Set Mycircle=ScreenItems("圆1")
MsgBox Mycircle.Parent.Parent.Parent.Parent.Parent.Parent.Parent.ObjectName
MsgBox Mycircle.Parent.Parent.Parent.Parent.Parent.Parent.Parent.Height
End Sub
当然父画面中的变量也可以读取。
说明:
Mycircle.Parent is Child_3
Mycircle.Parent.Parent is 画面窗口1
Mycircle.Parent.Parent.Parent is Child_2
Mycircle.Parent.Parent.Parent.Parent is 画面窗口1
Mycircle.Parent.Parent.Parent.Parent.Parent is Child_3
Mycircle.Parent.parent.Parent.Parent.Parent.Parent is 画面窗口1
Mycircle.Parent.parent.Parent.Parent.Parent.Parent.Parent is GetParentName
这里的画面窗口1不是同一个画面窗口1,每个父画面中只绘制了一个画面窗口,画面窗口的名称都是画面窗口1,在各个画面中他们的父画面都是画面窗口1。