У меня есть диалоговое окно, которое я хотел бы оставить открытым, кроме случаев, когда нажаты кнопки [x] или выхода. Кажется, что диалоги всегда закрываются, если вы нажимаете escape или Enter, когда выбрано большинство объектов (например, строковые блоки), независимо от того, используете ли вы позу () или display (). Есть ли способ предотвратить это?
Некоторыми общедоступными примерами того, когда это происходит, являются «Пример: Взаимодействие потоков и диалогов» DM Митчелла и «Пример: Диалог с одной кнопкой», но, похоже, они применимы к любому диалоговому окну.
Исключением является закрепленная палитра, но эта функциональность кажется довольно ограниченной в 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")
}