How to make a wxFrame behave like a modal wxDialog object

后端 未结 4 1905
萌比男神i
萌比男神i 2021-01-12 04:51

Is is possible to make a wxFrame object behave like a modal dialog box in that the window creating the wxFrame object stops execution until the wxFrame object exits?

4条回答
  •  天命终不由人
    2021-01-12 05:04

    Not sure this is a great answer but it worked.

    bool WinApp1::OnInit()
    {
      if (!wxApp::OnInit())
        return false;
    
      SettingsDialog dialog(m_settingsData);
      dialog.ShowModal();
    
      return false;
    }
    
    SettingsDialog::SettingsDialog(SettingsData& settingsData)
      : m_settingsData(settingsData)
    {
      SetExtraStyle(wxDIALOG_EX_CONTEXTHELP);
    
      wxWindow* parent = nullptr;
      Create(parent, wxID_ANY, "Preferences", wxDefaultPosition, wxDefaultSize,
        wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER);
    

    The WinApp1 window is never given a wxFrame and never paints.

提交回复
热议问题