X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8d71b5552e89e4002dd248f3ae6ab18ed4034523..08a092f9f4de6c80a2d43d4072c379ac84e6cc2f:/samples/resource/resource.cpp diff --git a/samples/resource/resource.cpp b/samples/resource/resource.cpp index 001de45e66..ab0405be9b 100644 --- a/samples/resource/resource.cpp +++ b/samples/resource/resource.cpp @@ -35,6 +35,12 @@ // in the program code/executable for UNIX and Windows // platforms. +// In order to get the ID of the controls defined in the +// dialog, we include the header automatically generated +// by DialogEd + +#include "dialog1.h" + // If you have a Windows compiler that can cope with long strings, // then you can always use the #include form for simplicity. @@ -42,7 +48,7 @@ // the TEXT resource, for some reason, so either run-time file loading // or file inclusion should be used. -#if defined(__WXMSW__) && !defined(__BORLANDC__) && !defined(__GNUWIN32__) +#if defined(__WXMSW__) // Under Windows, some compilers can't include // a whole .wxr file. So we use a .rc user-defined resource // instead. dialog1 will point to the whole .wxr 'file'. @@ -56,7 +62,7 @@ static char *menu1 = NULL; #endif // Declare two frames -MyFrame *frame = NULL; +MyFrame *frame = (MyFrame *) NULL; IMPLEMENT_APP(MyApp) @@ -69,10 +75,10 @@ MyApp::MyApp() // main frame bool MyApp::OnInit(void) { -#if defined(__WXMSW__) && !defined(__BORLANDC__) +#if defined(__WXMSW__) // Load the .wxr 'file' from a .rc resource, under Windows. - dialog1 = wxLoadUserResource("dialog1"); - menu1 = wxLoadUserResource("menu1"); + dialog1 = wxLoadUserResource("dialog1", "WXRDATA"); + menu1 = wxLoadUserResource("menu1", "WXRDATA"); // All resources in the file (only one in this case) get parsed // by this call. wxResourceParseString(dialog1); @@ -86,23 +92,11 @@ bool MyApp::OnInit(void) #endif // Create the main frame window - frame = new MyFrame(NULL, -1, "wxWindows Resource Sample", wxPoint(0, 0), wxSize(300, 250)); + frame = new MyFrame((wxFrame *) NULL, -1, (char *) "wxWindows Resource Sample", wxPoint(-1, -1), wxSize(300, 250)); // Give it a status line frame->CreateStatusBar(2); -/* - // Make a menubar - wxMenu *file_menu = new wxMenu; - - file_menu->Append(RESOURCE_TEST1, "&Dialog box test", "Test dialog box resource"); - file_menu->Append(RESOURCE_QUIT, "E&xit", "Quit program"); - - wxMenuBar *menu_bar = new wxMenuBar; - - menu_bar->Append(file_menu, "&File"); -*/ - wxMenuBar *menu_bar = wxResourceCreateMenuBar("menu1"); // Associate the menu bar with the frame @@ -117,6 +111,14 @@ bool MyApp::OnInit(void) return TRUE; } +MyApp::~MyApp() +{ +#if defined(__WXMSW__) + delete dialog1; + delete menu1; +#endif +} + BEGIN_EVENT_TABLE(MyPanel, wxPanel) EVT_LEFT_DOWN( MyPanel::OnClick) END_EVENT_TABLE() @@ -127,24 +129,32 @@ MyPanel::MyPanel( wxWindow *parent, wxWindowID id, const wxPoint& pos, const wxS { } -void MyPanel::OnClick( wxMouseEvent &WXUNUSED(event) ) +void MyPanel::OnClick( wxMouseEvent &WXUNUSED(event2) ) { MyFrame *frame = (MyFrame*)(wxTheApp->GetTopWindow()); wxCommandEvent event; - frame->OnTest1( event ); + frame->OnTestDialog( event ); } BEGIN_EVENT_TABLE(MyFrame, wxFrame) + EVT_MENU(RESOURCE_ABOUT, MyFrame::OnAbout) EVT_MENU(RESOURCE_QUIT, MyFrame::OnQuit) - EVT_MENU(RESOURCE_TEST1, MyFrame::OnTest1) + EVT_MENU(RESOURCE_TESTDIALOG, MyFrame::OnTestDialog) END_EVENT_TABLE() // Define my frame constructor MyFrame::MyFrame(wxWindow *parent, const wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size): wxFrame(parent, id, title, pos, size) { - panel = NULL; + panel = (wxWindow *) NULL; +} + +void MyFrame::OnAbout( wxCommandEvent& WXUNUSED(event) ) +{ + wxMessageBox("wxWindows resource sample.\n" + "(c) Julian Smart", "About wxWindows sample", + wxICON_INFORMATION | wxOK); } void MyFrame::OnQuit( wxCommandEvent& WXUNUSED(event) ) @@ -152,7 +162,7 @@ void MyFrame::OnQuit( wxCommandEvent& WXUNUSED(event) ) Close(TRUE); } -void MyFrame::OnTest1(wxCommandEvent& WXUNUSED(event) ) +void MyFrame::OnTestDialog(wxCommandEvent& WXUNUSED(event) ) { MyDialog *dialog = new MyDialog; if (dialog->LoadFromResource(this, "dialog1")) @@ -160,33 +170,25 @@ void MyFrame::OnTest1(wxCommandEvent& WXUNUSED(event) ) wxTextCtrl *text = (wxTextCtrl *)wxFindWindowByName("multitext3", dialog); if (text) text->SetValue("wxWindows resource demo"); - dialog->SetModal(TRUE); dialog->ShowModal(); } dialog->Close(TRUE); } -bool MyFrame::OnClose(void) -{ - Show(FALSE); - - return TRUE; -} - BEGIN_EVENT_TABLE(MyDialog, wxDialog) - EVT_BUTTON(RESOURCE_OK, MyDialog::OnOk) - EVT_BUTTON(RESOURCE_CANCEL, MyDialog::OnCancel) + // EVT_BUTTON(RESOURCE_OK, MyDialog::OnOk) + EVT_BUTTON(ID_BUTTON109, MyDialog::OnCancel) END_EVENT_TABLE() void MyDialog::OnOk(wxCommandEvent& WXUNUSED(event) ) { - EndModal(RESOURCE_OK); + // EndModal(RESOURCE_OK); } void MyDialog::OnCancel(wxCommandEvent& WXUNUSED(event) ) { - EndModal(RESOURCE_CANCEL); + EndModal(ID_BUTTON109); }