关闭对话框的 DM 脚本 window

DM script to close dialog window

我正在寻找关闭 UI window 的正确方法。 以下代码适用于 GMS 1.x。

Class mainUI:uiframe {
  void CloseMe(object self){
    DocumentWindow win=self.GetFrameWindow();
    if(win.WindowIsValid()) win.WindowClose(0);
  }
}

但是此代码在 GMS 2.33 下始终使 DigitalMicrograph 崩溃。

正如 Mike 在评论中指出的那样:答案是使用 dlg.Close(),其中 dlg 将是您的对话对象。

这是 GMS 3.2 的示例。 (另见

class myDlg : UIframe
{
    void OnClose( object self )
    {
        self.Close()
    }

    object InitAndLaunch( object self )
    {
        TagGroup dlg, dlgItems
        dlg = DLGCreateDialog( "test", dlgItems )
        dlgItems.DLGAddElement( DLGCreatePushButton( "Close", "OnClose" ) )
        self.Init(dlg)
        self.Display( "Test" )
        return self
    }
}

Alloc(myDLG).InitAndLaunch()