DM脚本关闭对话窗口

时间:2018-03-31 04:26:11

标签: user-interface dm-script

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

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

但是这段代码在GMS 2.33下一直崩溃了DigitalMicrograph。

1 个答案:

答案 0 :(得分:1)

Mike在评论中指出:答案是使用dlg.Close(),其中 dlg 将成为您的对话框对象。

以下是GMS 3.2的示例。 (另见this for GMS 3.1

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()