如何在没有用户干预的情况下自动关闭警报框

时间:2016-07-13 12:14:42

标签: progress-4gl openedge

如何在没有用户干预的情况下自动关闭警报框。

以编程方式关闭警报框。

2 个答案:

答案 0 :(得分:2)

你做不到。您必须使用计时器实现自己的对话框。您的构建对话框必须适合您的UI:ABL GUI,.NET或TTY GUI

答案 1 :(得分:2)

我会假设它是Windows,因为否则,迈克的回答是完全正确的。我能想到的唯一一种形式是让它随着时间的推移而过期。

我搞砸了一下然后发现了这个。刚刚测试,它的工作原理。 2000是您希望消息在到期之前等待的时间(以毫秒为单位)。与#3;'混乱参数以查看其他按钮选项(到目前为止,我发现0到6个工作)。希望这会有所帮助。

PROCEDURE MessageBoxTimeoutA EXTERNAL "user32.dll":
    DEFINE  INPUT PARAMETER hwnd            AS LONG      NO-UNDO.
    DEFINE  INPUT PARAMETER lpText          AS CHARACTER NO-UNDO.
    DEFINE  INPUT PARAMETER lpCaption       AS CHARACTER NO-UNDO.
    DEFINE  INPUT PARAMETER uType           AS LONG      NO-UNDO.
    DEFINE  INPUT PARAMETER wLanguageID     AS LONG      NO-UNDO.
    DEFINE  INPUT PARAMETER lngMilliseconds AS LONG      NO-UNDO.
    DEFINE RETURN PARAMETER ans             AS LONG      NO-UNDO.
END PROCEDURE.
DEFINE VARIABLE i AS INTEGER     NO-UNDO.
RUN messageBoxTimeoutA (0, "Test","test2", 3 , 0, 2000, OUTPUT i ).

DISPLAY i.

我的例子有按钮yes-no-cancel。对于是,i的值为6,对于no为7,对于取消为2,如果超时则为32000。