如何在一个界面下同时只能弹出一个对话框

在一个窗口下,有多个按钮,每个按钮通过messageBox实现按下时弹出对话框进行是与否的选择,这时可以同时弹出多个对话框,请教如何做到同时只能对一个按钮操作,即只弹出一个对话框。

最佳答案

MsgBox(Msg, Style, Title, Help, Ctxt)  其中 style 定义为例如vbApplicationModal +Vbokonly
使用 vbApplicationModal 会挂起WinCC 直到你选择位置 这样你就可以屏蔽其他按钮了。
  参考:用于MsgBox函数中Button参数的常量
常量                值               说明
vbOKOnly             0   只显示“确定”按钮
VbOKCancel           1   显示“确定”和“取消”按钮
VbAbortRetryIgnore   2   显示“终止”、“重试”和“忽略” 按钮
VbYesNoCancel        3   显示“是”、“否”和“取消”按钮
VbYesNo              4   显示“是”和“否”按钮
VbRetryCancel        5   显示“重试”和“取消”按钮
VbCritical           16  显示“关键信息”图标
VbQuestion           32  显示“警告询问”图标
VbExclamation        48  显示“警告消息”图标
VbInformation        64  显示“通知消息”图标
vbDefaultButton1      0  第一个按钮是缺省值(缺省设置)
vbDefaultButton2     256第二个按钮是缺省值
vbDefaultButton3     512第三个按钮是缺省值
vbDefaultButton4     768第四个按钮是缺省值
vbApplicationModal     0应用程序强制返回;应用程序一直被挂起,直到用户对消息框
作出响应才继续工作
vbSystemModal        4096系统强制返回;全部应用程序都被挂起,直到用户对消息框作
出响应才继续工作
vbMsgBoxHelpButton    16384将Help按钮添加到消息框
VbMsgBoxSetForeground 65536指定消息框窗口作为前景窗口
vbMsgBoxRight         524288文本为右对齐
vbMsgBoxRtlReading   1048576指定文本应为在希伯来和阿拉伯语系统中的从右到左显示
说明:
(1)第一组值(0–5)描述了消息框中显示的按钮的类型与数目;第二组值(16,32,48,64)描述了图标的样式;第三组值(0,256,512,768)说明哪一个按钮是缺省值;而第四组值(0,4096)则决定消息框的强制返回性。将这些数字相加以生成Buttons参数值的时候,只能由每组值取用一个数字。
(2)这些常数都是 Visual Basic for Applications (VBA) 指定的。结果,可以在程序代码中到处使用这些常数名称,而不必使用实际数值。实际数值与常数名称是等价的。

提问者对于答案的评价:
谢谢

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc267886.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日 上午5:37
下一篇 2019年6月11日 上午5:37

相关推荐

  • WinCC历史数据查询切换慢,怎么办?

    Wincc运行一段时间后打开历史查询界面(趋势、数据等)会很慢,有时需要几分钟,但重启电脑后问题消失.这个怎么解决?调整采样时间?对归档的段大小进行设置?请大侠指点,谢谢 最佳答案…

    SIMATIC WinCC 2019年6月11日
  • 如何将wincc7.0中的静态文本的背景设置成透明的呢?请教诸位大侠

    如题 最佳答案 属性里没有吗?7.0是好多年前用过,后来都用7.2、7.3,还有V13了啊,V13就在属性里面可以选透明。 提问者对于答案的评价:谢谢 专家置评 文本属性>效…

    SIMATIC WinCC 2017年7月25日
  • wincc冗余组态画面修改问题

    现在问题是又2台服务器,4台客户机,其中一台做工程师站,做的C/S结构。2台服务器做冗余,那我想修改冗余服务器的画面是如何修改?然后每次修改以后通过项目复制器复制到另一台里面?在工…

    SIMATIC WinCC 2019年6月11日
  • 把已存在wincc项目导入step7中

    wincc新手请教:(1)把已存在wincc项目导入step7中,出现如下图中状况,图1中①新加了2个OS站一个是直接在step7中加的,一个是从外部导入的,请问2个站生成的文件怎…

    2018年12月6日
  • wincc画面中仅有一个按钮成灰色

    wincc画面中仅有一个按钮成灰色,该按钮的属性中允许操作员控制:是;授权:<没有访问保护>;该按钮连接的是300PLC中的M136.5(没有超出M的范围)说有画面中仅…

    SIMATIC WinCC 2019年6月11日
  • wincc画面不能切换有什么原因

    画面只能停留在一个上,不能切换,用项目复制器复制的 最佳答案 直接右键切换的按扭—-属性,打开点直接连接,选择对应的项目就可以了。 提问者对于答案的评价:谢谢大家

    SIMATIC WinCC 2019年6月11日
  • 变量上升沿触发VBS动作

    wincc中定义一个VBS动作,想用一个变量的上升沿去触发这个动作,怎么实现? 最佳答案 再做一个变量用来存储状态a 是触发的变量,a1是存储a上个周期状态的变量全局脚本…

    SIMATIC WinCC 2017年6月6日
  • wincc客户机,能打开但是不能运行

    wincc的客户机/服务器结构,客户机可以打开,但是点击运行的时候那个运行进度窗口启到一半就消失了,没有运行界面;如果打开一个画面,然后点击激活,同样没有运行界面,同时出现两个Er…

    SIMATIC WinCC 2019年6月11日
  • 如何查找wincc某个用户的登录时间

    有一个wincc系统,我建立三个用户,甲方要求wincc能够记录某个用户在莫个时段的登录时间,请问这个功能应该如何才能实现? 最佳答案 首先需要一个BOOL型的内部变量Login,…

    SIMATIC WinCC 2021年7月5日
  • 【打印时间选择教程】 疑问

    在网上搜到的都是这个教程,教程里面写了三个函数TimeTo,TimeFrom,ModifyPrintJob,请教这个三个函数的用法。1,ModifyPrintJob(TimeFro…

    SIMATIC WinCC 2019年6月10日