【发布时间】:2020-04-02 17:09:49
【问题描述】:
我花了很多时间研究如何关闭应用程序我构建表单 wxDialog 的问题 我创建了两个按钮 OK 和 Exit,当我按下 Exit 或签署 App 的 [X] 信号时,我会发出此错误
// The Queue of Event Table
BEGIN_EVENT_TABLE(AutoPokemonDlg, wxDialog)
EVT_BUTTON(wxID_OK, AutoPokemonDlg::OnOK)
EVT_BUTTON(wxID_EXIT, AutoPokemonDlg::OnExit)
EVT_CLOSE(AutoPokemonDlg::OnCloseWindow)
END_EVENT_TABLE()
// I create Event Handler
void AutoPokemonDlg::OnExit(wxCommandEvent& WXUNUSED(event))
{
Close(true);
}
void AutoPokemonDlg::OnCloseWindow(wxCloseEvent& WXUNUSED(event))
{
Destroy();
}
and main Window, i use wxDialog to inherit my subclass is AutoPikachuDlg
////AutoPokemonDlg.h
class AutoPokemonDlg : public wxDialog
{
public:
// Constructor
AutoPokemonDlg(wxWindow* parent, const wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size);
~AutoPokemonDlg();
// Event handlers
void OnOK(wxCommandEvent& event);
void OnExit(wxCommandEvent& WXUNUSED(event));
void OnCloseWindow(wxCloseEvent& event);
protected:
private:
DECLARE_EVENT_TABLE()
};
//////AutoPokemonDlg.cpp
AutoPokemonDlg::AutoPokemonDlg(wxWindow* parent, const wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size)
: wxDialog(parent, id, title, pos, size)
{
//...
};
【问题讨论】:
-
您使用的是模态对话框还是非模态对话框?
-
#Igor 我想创建一个模态对话框。
-
您应该致电
EndModal()。检查相应的文档...