rendered paste body#include "wx/wx.h"enum { ID_Exit = wxID_HIGHEST, ID_Login};class MyApp : public wxApp{ virtual bool OnInit(void);};class MyDialog : public wxDialog{ public: MyDialog(const wxString& title, const wxPoint pos = wxPoint(-1, -1), const wxSize size = wxSize(-1, -1)); void OnLogin(wxCommandEvent &event); void OnQuit(wxCommandEvent &event); void OnClose(wxCloseEvent &event);};DECLARE_APP(MyApp)IMPLEMENT_APP(MyApp)bool MyApp::OnInit(){ MyDialog *frame = new MyDialog( _T("Hello World")); frame->ShowModal(); SetTopWindow(frame); return TRUE;} MyDialog::MyDialog(const wxString& title, const wxPoint pos, const wxSize size) : wxDialog(NULL, wxID_ANY, title, pos, size){ Connect(wxEVT_CLOSE_WINDOW, wxCloseEventHandler(MyDialog::OnClose)); wxBoxSizer *vBox = new wxBoxSizer(wxVERTICAL); wxBoxSizer *hBox1 = new wxBoxSizer(wxHORIZONTAL); wxBoxSizer *hBox2 = new wxBoxSizer(wxHORIZONTAL); wxBoxSizer *hBox3 = new wxBoxSizer(wxHORIZONTAL); wxPanel *panel = new wxPanel(this, wxID_ANY); wxButton *exitButton = new wxButton(panel, ID_Exit, wxT("Quit")); Connect(ID_Exit, wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(MyDialog::OnQuit)); wxButton *loginButton = new wxButton(panel, ID_Login, wxT("Login")); Connect(ID_Login, wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(MyDialog::OnLogin)); hBox3->Add(loginButton, 0, wxALL, 5); hBox3->Add(exitButton, 0, wxALL, 5); vBox->Add(hBox1, 1, wxEXPAND | wxALL); vBox->Add(hBox2, 1, wxEXPAND | wxALL); vBox->Add(hBox3, 1, wxEXPAND | wxALL); panel->SetSizer(vBox); return;}void MyDialog::OnQuit(wxCommandEvent &WXUNUSED(event)){ EndModal(0); Close(true); Destroy(); return;}void MyDialog::OnLogin(wxCommandEvent &WXUNUSED(event)){ return;}void MyDialog::OnClose(wxCloseEvent &WXUNUSED(event)){ EndModal(0); Close(true); Destroy(); return;}