问题描述
我在 Progress-4GL 中有以下消息:
DEF VAR L-temp AS CHaraCTER.
MESSAGE "Give me information" UPDATE L-temp.
这显示了一条更新消息,这很好,但是当我试图逃避该消息时(例如,我意识到我点击了错误的按钮,启动了此消息),我无法隐藏该消息:>
我该如何解决这个问题(我只是想从屏幕上删除消息)?我不能添加 VIEW-AS ALERT-Box
,因为警报框只能更新逻辑变量和字段。或者对于这种情况有一个简单的 Show-DialogBox()
吗?
编辑
我尝试将 UPDATE
替换为 SET
并将整个内容视为警报框,但这似乎是不允许的(似乎只允许逻辑变量和字段)。
编辑 2
尝试使用 PROMPT-FOR
不是一个好主意,因为这似乎隐藏了窗口的其余部分,而我希望消息显示为窗口/框架其余部分顶部的某种弹出窗口。
编辑 3
另外 System-Dialog
似乎不是一个好主意,因为我只想得到一个简单的字符串。
解决方法
有点遗憾的是“关闭窗口”按钮在默认情况下不会关闭窗口。即使将框架定义为模态 dialog-box
,window-close
事件也需要重新路由到 close
。
define frame frupdate
cinfo as char label "Give me information" with side-labels
with
title "Message Update"
view-as dialog-box
.
on "window-close" of frame frupdate
apply "close" to frame frupdate.
enable all with frame frupdate.
wait-for close of frame frupdate.