搬家第14天-174.Wincc V7.3 vbs弹出消息框提醒,一定时间不操作自动选择
周末有群友在qq群上说他的客户提出这样一个需求,希望用户操作关键设备时做二次确认,默认选择“取消”按钮,如果5秒不做任何操作,那么系统自动替操作人员选择“取消”。我以前做练习的时候也想到过使用msgbox做二次确认操作,不过也没有想得这么细。既然是客户提出的,那么就要想办法满足,毕竟是“衣食父母”嘛。msgbox我尝试过要做上述效果麻烦,好在vbs还有一个弹窗叫做popup可以满足要求。
新建一个wincc项目,在变量管理中新建一个变量Start,二进制类型,用于测试效果。新建一个画面,画面上放一个圆形,背景颜色关联Start变量,为1绿色,为0红色。放置三个按钮,名字分别为btn1、btn2、btn3,btn1鼠标点击事件中加入以下vbs代码:
Sub OnClick(ByVal Item)
Dim obj,intreturn
Set obj=Createobject("WScript.Shell")
intreturn=obj.Popup("你真的需要启动Start?",5,"请选择",33)
If intreturn=1 Then
hmiruntime.Tags("Start").Write 1
Else
Msgbox "年轻人,你还是放弃了"
End If
End Sub
btn2按钮主要是用来测试btn1弹出对话框后,如果点击btn2看看会不会影响什么,btn2鼠标点击事件中添加以下vbs代码:
Sub OnClick(ByVal Item)
Msgbox “OK”
End Sub
btn3是让Start复位的。
通过测试,当选择弹窗出现时,如果不做任何选择就去点击btn2,选择弹窗会看不见,但是5秒之后,系统还是会自动关闭掉选择弹窗,有点小小的瑕疵,不过总体上还是满足了需求。
popup有四个参数,第一个是弹窗中要显示的文本;第二个是倒计时的时间长度,单位秒;第三个标题文本,第四个是按钮的类型数量+图标的类型的求和。
按钮类型如下:
0 确定按钮.
1 确定和取消按钮.
2 退出、重试和忽略按钮.
3 是、否和取消按钮.
4 是和否按钮.
5 重试和取消按钮.
图标类型如下:
16 "停止"图标.
32 "问号"图标.
48 "惊叹号"图标.
64 "信息"图标
用户选择按钮的返回值如下:
1 点击确定按钮
2 点击取消button
3 点击退出按钮
4 点击重试按钮
5 点击忽略按钮
6 点击是按钮
7 点击否按钮
我做的这个练习中,使用了“确定”和“取消”按钮,数值是1,图标使用问号,数值是32,所以popup的最后一个参数就是33。