admin 管理员组

文章数量: 887021


2023年12月19日发(作者:美国大熊猫)

Intouch在做按钮动作和调试脚本时,经常需要用户确认窗口,根据用户点击的“是”“否”“确认”“取消”“OK”等取得返回值,从而根据用户二次确认以获得最终结果,下面给出两种MessageBox窗口的脚本,给大家参考:

方案A:

采用Intouch系统自带的OLE控件自行编写MsgBox。缺点是 创建的用户界面对话框可能会被其他窗口覆盖,不易别察觉。

下面是一个例子:

1. 创建用户界面对话框

2. 在脚本中,使用以下命令产生用户界面对话框:

3.

4. dim DlgBody as message;

5. dim DlgTitle as message;

6. dim Style as integer;

7. dim Result as integer;

8.

9. OLE_CreateObject(%WS,"");

10. result = %(DlgBody,1,DlgTitle,Style);

11.

12. 本例创建以下用户界面对话框

13. Style 标记名确定有哪些图标与按钮出现在对话框上。使用以下值:

复制代码

1. 图标 样式 值

2. (无图标) 无图标 0

3. 错误图标 16

4. 问号图标 32

5. 警告图标 48

6. 信息图标 64

7.

8. 要使用特定的按钮,请将以下值之一添加到 Style 值:

9. 值 样式

10. 0 仅确定按钮

11. 1 确定与取消按钮

12. 2 放弃、重试及忽略按钮

13. 3 是、否及取消按钮

14. 4 是与否按钮

15. 5 重试与取消按钮

16. 6 取消、重试及继续按钮

17.

18. Result 标记名包含用户单击的按钮编号。这可用作 InTouch 脚本中的条件分支。可能的结果码如下:

19. 结果值 含义

20. 1 按了确定按钮

21. 2 按了取消按钮

22. 3 按了放弃按钮

23. 4 按了重试按钮

24. 5 按了忽略按钮

25. 6 按了是按钮

26. 7 按了否按钮

27. 10 按了重试按钮

28. 11 按了继续按钮

复制代码

代码说明:DlgBody是消息变量 写需要显示的字符串;DlgTitle是消息变量 写窗口的标题;

Style是整形变量 定义格式。

Style的值写最终想表达的样式值,是图标样式值和特定按钮值的和。比如Style是33=32(问号图标)+1(显示确定与取消按钮),具体的组合自己尝试下就知道了。

返回值result对应的是用户点击了那个按钮。

可以将上面的代码写成快速脚本,多次调用,就避免了每次写代码的过程。

方案B:

采用Wonderware提供的脚本函数库Messagebox()函数来实现,不过需要单独下载控件包后才能使用此函数,好处是次用户窗口不会被其他窗口覆盖,直至点击了按钮。

此函数语法是 : return=MessageBox( Message, Title, Style);

1.

2.

3.

4.

复制代码

1.

2.

3.

4.

5.

6.

7.

8.

复制代码

1. 按钮样式代码

2. 0 [OK]

返回值return

[是] 1

[取消] 2

[禁止] 3

[重试] 4

[忽略] 5

[是] 6

[否] 7

message是显示的内容,消息变量

Title是标题内容,消息变量

Style是样式,整形

这三个参数参考方案A的参数,只是代码的数值含义不同,但是原理一致:

3.

4.

5.

6.

7.

复制代码

1.

2.

3.

4.

5.

6.

复制代码

1 [OK] [取消]

2 [禁止] [重试] [取消]

3 [是] [否] [取消]

4 [是] [否]

5 [重试] [取消]

图标代码值

10 错误图标

20 问号图标

30 警告图标

40 信息图标

同样Stytle是图标代码和按钮代码的值之和

列子:result=MessageBox( "加到趋势", "曲线加笔确认", 24 );

效果图

下面附上MessageBox()函数控件包,分为版本和及更高版本的压缩包,将解压缩的两个文件放入Intouch安装目录下,比如:C:Program FilesWonderwareInTouch

版本.zip

及更高版本.zip(42


本文标签: 按钮 代码 图标 脚本 用户