2

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

发生这种情况的一些公开示例是 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")
}
4

1 回答 1

0

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

于 2016-04-22T18:32:11.733 回答