TA的每日心情 | 开心 2022-10-11 10:52 |
---|
签到天数: 787 天 [LV.10]国防部长
|
×马上注册,结交更多工控达人,分享经验,让你轻松玩转追梦工控论坛。 已有帐号? 点击登录 或者
Intouch在做按钮动作和调试脚本时,经常需要用户确认窗口,根据用户点击的“是”“否”“确认”“取消”“OK”等取得返回值,从而根据用户二次确认以获得最终结果,下面给出两种MessageBox窗口的脚本,给大家参考:
方案A:
采用Intouch系统自带的OLE控件自行编写MsgBox。缺点是 创建的用户界面对话框可能会被其他窗口覆盖,不易别察觉。
下面是一个例子:
- 创建用户界面对话框
- 在脚本中,使用以下命令产生用户界面对话框:
- dim DlgBody as message;
- dim DlgTitle as message;
- dim Style as integer;
- dim Result as integer;
- OLE_CreateObject(%WS,"Wscript.Shell");
- result = %WS.Popup(DlgBody,1,DlgTitle,Style);
- 本例创建以下用户界面对话框
- Style 标记名确定有哪些图标与按钮出现在对话框上。使用以下值:
复制代码- 图标 样式 值
- (无图标) 无图标 0
- 错误图标 16
- 问号图标 32
- 警告图标 48
- 信息图标 64
- 要使用特定的按钮,请将以下值之一添加到 Style 值:
- 值 样式
- 0 仅确定按钮
- 1 确定与取消按钮
- 2 放弃、重试及忽略按钮
- 3 是、否及取消按钮
- 4 是与否按钮
- 5 重试与取消按钮
- 6 取消、重试及继续按钮
- Result 标记名包含用户单击的按钮编号。这可用作 InTouch 脚本中的条件分支。可能的结果码如下:
- 结果值 含义
- 1 按了确定按钮
- 2 按了取消按钮
- 3 按了放弃按钮
- 4 按了重试按钮
- 5 按了忽略按钮
- 6 按了是按钮
- 7 按了否按钮
- 10 按了重试按钮
- 11 按了继续按钮
复制代码代码说明:DlgBody是消息变量 写需要显示的字符串;DlgTitle是消息变量 写窗口的标题;
Style是整形变量 定义格式。
Style的值写最终想表达的样式值,是图标样式值和特定按钮值的和。比如Style是33=32(问号图标)+1(显示确定与取消按钮),具体的组合自己尝试下就知道了。
返回值result对应的是用户点击了那个按钮。
可以将上面的代码写成快速脚本,多次调用,就避免了每次写代码的过程。
方案B:
采用Wonderware提供的脚本函数库Messagebox()函数来实现,不过需要单独下载控件包后才能使用此函数,好处是次用户窗口不会被其他窗口覆盖,直至点击了按钮。
此函数语法是 : return=MessageBox( Message, Title, Style);
- message是显示的内容,消息变量
- Title是标题内容,消息变量
- Style是样式,整形
- 这三个参数参考方案A的参数,只是代码的数值含义不同,但是原理一致:
复制代码- 返回值return
- [是] 1
- [取消] 2
- [禁止] 3
- [重试] 4
- [忽略] 5
- [是] 6
- [否] 7
复制代码- 按钮样式代码
- 0 [OK]
- 1 [OK] [取消]
- 2 [禁止] [重试] [取消]
- 3 [是] [否] [取消]
- 4 [是] [否]
- 5 [重试] [取消]
复制代码- 图标代码值
- 10 错误图标
- 20 问号图标
- 30 警告图标
- 40 信息图标
- 同样Stytle是图标代码和按钮代码的值之和
复制代码 列子:result=MessageBox( "加到趋势?", "曲线加笔确认", 24 );
效果图
下面附上MessageBox()函数控件包,分为Intouch7.0版本和7.1及更高版本的压缩包,将解压缩的两个文件放入Intouch安装目录下,比如:C:\Program Files\Wonderware\InTouch
有不明白的欢迎回帖探讨!
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|