如何在进入或退出时阻止对话框关闭?

时间:2016-04-22 17:36:38

标签: dialog modal-dialog modeless dm-script

我有一个对话框,除非单击[x]或退出按钮,否则我希望保持打开状态。如果您点击转义或者在选择大多数对象时(例如字符串框)按Enter键,无论您使用的是pose()还是display(),对话框似乎总是关闭。有办法防止这种情况吗?

发生这种情况的一些公开示例是DM Mitchell的“示例:线程和对话交互”和“示例:单按钮对话框”,但它似乎适用于任何对话框。

异常似乎是一个停靠的调色板,但在GMS2.3 / GMS3中这个功能似乎相当有限。

要测试的示例代码:

class myUItest:UIframe
{
    object Init( object self )
    {
        TagGroup dlgTGitems 
        TagGroup dlgTG = DLGCreateDialog("Modal",dlgTGitems)
        TagGroup dlgField = DLGCreateIntegerField(12,20)
        dlgTGitems.DLGAddElement(dlgField)
        return self.super.init(dlgTG)
    }
}

{
    object DLG = ALLOC(myUItest).Init()
    DLG.Pose()
    DLG.display("Modeless")
}

1 个答案:

答案 0 :(得分:0)

似乎无法通过您提到的击键来阻止模式对话框(通过UIFrame的Pose方法呈现的对象)的终止。但是,无模式对话框是否适用于您的应用程序?这样的对话框是通过在UIFrame对象上调用Display方法创建的,并且不会通过esc或enter关闭。