搬家第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。

posted @ 2021-02-11 11:00  来自金沙江的小鱼  阅读(1384)  评论(0编辑  收藏  举报