加入收藏 在线留言 联系我们
关注微信
手机扫一扫 立刻联系商家
全国服务热线15915421161

SIEMENS西门子广西省玉林市(授权)电机一级代理商——西门子华南总代理

更新时间
2024-11-20 07:00:00
价格
请来电询价
西门子总代理
PLC
西门子一级代
驱动
西门子代理商
伺服电机
联系电话
15903418770
联系手机
15915421161
联系人
张经理
立即询价

详细介绍

二次确认对话框



在WinCC中,为了避免误操作,一些关键的按钮通常会需要进行二次确认。二次确认窗口一般都是调用Windows系统窗体。比如我们可以通过脚本msgbox来调用系统对话框。


在上图中,当点击按钮时会弹出一个询问是否确认操作的对话框。该对话框有两个按钮,可以选择确定或者取消。只有当点击确定按钮时才可以继续下一步操作。


这种调用系统对话框的方法简单易用,但是欠缺灵活性。另外在界面风格上和我们的项目也显得格格不入,所以在一些场景下可能还是需要我们自定义二次确认对话框。比如下图就是我们的HwBasicLib4CWCC中的WinCC退出确认对话框。


在自定义的确认对话框中,我们首先要制作对话框需要展示的画面信息。下图是我们定义的一个名为_Exit的退出确认对话框。


当用户点击“取消”按钮时窗口关闭。脚本如下:




  • Sub OnLButtonDown(ByVal Item, ByVal Flags, ByVal x, ByVal y)    item.Parent.Parent.Visible=falseEnd Sub当用户点击“确定”按钮时退出WinCC,脚本如下:



  • Sub OnLButtonDown(ByVal Item, ByVal Flags, ByVal x, ByVal y)    HMIRuntime.StopEnd Sub

    上面的自定义弹窗虽然实现了目标功能,但是缺乏通用性。我们总不能为每个需要二次确认的操作都去制作一个窗口吧。为了实现确认对话框的通用性,我们对窗口进行了一些改造。在调用对话框时传递三个参数进去,分别是警告信息文本、指令和值。参见下面的脚本。














  • Sub OnLButtonDown(Byval Item, Byval Flags, Byval x, Byval y)                   Dim pw    Set pw=ScreenItems("PW10")    pw.ScreenName="HwLib.Framework\BaseLib\ConfirmWindows"    pw.UserData="你确定要更改参数xxx的设置?*TagName*NewVlue"    PW.Left=item.Left+item.Width    pw.Top=item.Top    pw.Height=260    pw.Width=560    pw.CaptionText="警告"    pw.BorderEnabled=True    pw.Visible=TrueEnd Sub


    上面脚本的核心内容是通过窗体的属性UserData传递参数到确认对话框中。然后我们在对话框中对传递进来的UserData进行解析。










  • Dim udDim txtIf Len(item.Parent.Parent.UserData)>0 Then   ud=Split(item.Parent.Parent.UserData,"*")Else   Exit FunctionEnd If
    item.Text=ud(0)

    上面的代码是对传递进来的UserData数据进行解析,并将其的第一个数据赋值给静态文本控件,用于显示警告信息。


    如果点击取消按钮则关闭窗体。反之如果点击的是确定按钮,则根据第二个参数和第三个参数执行相应的动作。

    自定义的二次确认窗口相比系统对话框更加灵活,界面也更加美观。


    相关产品

    联系方式

    • 电  话:15903418770
    • 联系人:张经理
    • 手  机:15915421161
    • 微  信:15915421161