2016-07-13 21 views

答えて

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. 

私の例には、はいはいいいえキャンセルボタンがあります。 iの値は、yesの場合は6、noの場合は7、cancelの場合は2、timeoutの場合は32000になります。

2

できません。タイマーを使用して独自のダイアログを実装する必要があります。ビルドのダイアログはあなたのUIに合っていなければなりません:.NETまたはTTY用のGUI、ABL GUI

関連する問題