quote:以下是引用Zaxife在2011-08-04 22:05:04的发言:鼠标点击IO域弹出[画面窗口]而已。子画面窗口里面就是你说的那些内容。
1 先建立结构变量,接着建立对应控制器的变量组,且引用对应的结构;
比如建立一个PV的结构,包含Value、VLL、VLH、VLAL、VLAH五个实数类型的项目,再到通讯通道控制器里建立变量,比如建立一个P1变量,然后在变量域里引用刚才建立的PV结构,就自动生成P1.Value、P1.VLL、P1.VLH、P1.VLAL、P1.VLAH;
2 再建立模板画面PVMod,里面拖入5个IO域控件,分别引用上面刚建立的5个P1变量,再把IO域引用的变量前缀P1.替换为.;
3 在父画面拖入一个IO域,IO域输入值为P1.Value,然后再拖入一个画面窗口,且默认隐藏显示;
4 在P1.Value的IO域的鼠标左键点击事件里面添加代码,代码内容分别为:
a 画面窗口的画面名称属性选择上面建立的PVMod;
b 画面窗口的变量前缀为P1;
c 画面窗口的位置Y值为当前P1.Value控件的位置X+宽度,画面窗口的位置Y值为当前P1.Value控件的位置Y+高度;
d 如果画面窗口为显示状态,则设置不显示画面窗口;如果画面窗口为不显示状态,则显示画面窗口。在做一个10秒触发器,当画面窗口显示够10秒时关闭显示的画面窗口(触发时间可以自定义)。
ScreenItems("H1").TagPrefix = "P1"
ScreenItems("H1").ScreenName = "PVMod"
ScreenItems("H1").Top = Item.Top + Item.Height
ScreenItems("H1").Left = Item.Left + Item.Width
If ScreenItems("H1").Visible = False Then
ScreenItems("H1").Visible = True
Else
ScreenItems("H1").Visible = False
End If
5 运行当前画面测试效果。
点击此处查看附件
你用什么软件打开的啊!你的程序我下载下来打不开