• {{item.name}}
{{item.name}}
{{item2.name}}
更多
常问问题

如何用WinCC创建Windows对话框,并评估操作员的响应?

star star star star star
5.0 分
  • 使用操作
  • SIMATIC WinCC Basic
文档编号:268859| 文档类型:常问问题| 发布时间:2023年10月20日
  • 0
  • 446
  • 4059
介绍了如何用WinCC创建Windows对话框,并获取操作员的响应

C 脚本使用了Windows API函数 “MessageBox()” 创建一个标准 Windows 对话框。函数返回值包含了操作员选择按钮的代码 。


C 脚本使用了Windows API函数 “MessageBox()”  创建一个标准 Windows 对话框。函数返回值包含了操作员选择按钮的代码 。

注意事项
可以直接在 WinCC 中使用画面窗口创建 Windows 对话框 , 画面窗口无法像对话框窗口那样能停止运行系统进程。 在 WinCC V7.4 系统手册中“使用 WinCC” 中 如何插入画面窗口 中有详细信息,参见条目 ID 109736220

Windows API 中的消息对话框
Microsoft Developer Network 包含了使用 Windows dialog box 的详细描述,包括参数描述和返回值。
结合 WinCC 使用注意事项:

  • 对于 hWnd  必须通过 PDLRT 传递 Window 句柄。
  • uType 中,必须设置 "MB_SETFOREGROUND" 和"MB_SYSTEMMODAL" 。否则,对话框不能出现在画面前景中,从而导致系统无法操作该对话框。

实例
下列脚本显示如何使用  "MessageBox()" 函数和评估返回值。

图01

以下文本文件包括上述脚本。
 268859_wincc_messageboxuse.txt (1 KB)


“独立画面窗口”的特殊性能

如果从独立的画面窗口调用对话框,则必须将此对话框链接到画面窗口。
否则,如果不立即关闭对话框,可能会导致对话框在后台消失或失去焦点。在这种情况下,由于相关脚本仍在等待返回值,所以C脚本会阻塞较长时间。
  • 步骤
1. 在Properties > Miscellaneous下为画面窗口定义一个静态标头 (PictureWindowHeader) 2. 使用FindWindow命令调整脚本
WindowClassHandle_PDLRT = FindWindow ("PDLRTisAliveAndWaitsForYou",NULL);
为以下形式:
WindowClassHandle_PDLRT = FindWindow (NULL, "PictureWindowHeader");

注意事项

  • Windows消息窗口上按钮的文本由当前操作系统设置的语言所确定,如果需要多语言显示,那么您需要安装一个多语言版 Windows 操作系统 (MUI) ,在运行时需要先修改 Windows 操作系统语言。更多的信息可以参考条目 ID:21923800.
  • 消息文本和窗口标题的语言转换需要手动组态
    条目 22907359  展示如何组态 Windows 消息框的标题和消息文本的语言转换。


  • 关键字
  • 22906363

您可以前往全球资源库查看此文档: https://support.industry.siemens.com/cs/cn/zh/view/268859

  • 评论
更多
  • 分享

    扫码分享

提示
您即将前往“全球技术资源库”。
“全球技术资源库”的用户名与本地支持中心(下载中心、技术论坛、找答案、1847工业学习平台)的用户名不通用。如果需要在全球技术资源库下载文档,您需要重新登录或注册。
确定

扫码进入移动端

信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。