The Whole Program

team bbl


It's worth putting together the bits so you can see what the whole program looks like. Normally, you'd have a separate header file and implementation file, but for such a simple program, we can put it all in the same file.

Listing 2-1. The Complete Example
 // Name:        minimal.cpp // Purpose:     Minimal wxWidgets sample // Author:      Julian Smart #include "wx/wx.h" // Declare the application class class MyApp : public wxApp { public:     // Called on application startup     virtual bool OnInit(); }; // Declare our main frame class class MyFrame : public wxFrame { public:     // Constructor     MyFrame(const wxString& title);     // Event handlers     void OnQuit(wxCommandEvent& event);     void OnAbout(wxCommandEvent& event); private:     // This class handles events     DECLARE_EVENT_TABLE() }; // Implements MyApp& GetApp() DECLARE_APP(MyApp) // Give wxWidgets the means to create a MyApp object IMPLEMENT_APP(MyApp) // Initialize the application bool MyApp::OnInit() {     // Create the main application window     MyFrame *frame = new MyFrame(wxT("Minimal wxWidgets App"));     // Show it     frame->Show(true);     // Start the event loop     return true; } // Event table for MyFrame BEGIN_EVENT_TABLE(MyFrame, wxFrame)     EVT_MENU(wxID_ABOUT, MyFrame::OnAbout)     EVT_MENU(wxID_EXIT,  MyFrame::OnQuit) END_EVENT_TABLE() void MyFrame::OnAbout(wxCommandEvent& event) {     wxString msg;     msg.Printf(wxT("Hello and welcome to %s"),                wxVERSION_STRING);     wxMessageBox(msg, wxT("About Minimal"),                  wxOK | wxICON_INFORMATION, this); } void MyFrame::OnQuit(wxCommandEvent& event) {     // Destroy the frame     Close(); } #include "mondrian.xpm" MyFrame::MyFrame(const wxString& title)        : wxFrame(NULL, wxID_ANY, title) {     // Set the frame icon     SetIcon(wxIcon(mondrian_xpm));     // Create a menu bar     wxMenu *fileMenu = new wxMenu;     // The "About" item should be in the help menu     wxMenu *helpMenu = new wxMenu;     helpMenu->Append(wxID_ABOUT, wxT("&About...\tF1"),                      wxT("Show about dialog"));     fileMenu->Append(wxID_EXIT, wxT("E&xit\tAlt-X"),                      wxT("Quit this program"));     // Now append the freshly created menu to the menu bar...     wxMenuBar *menuBar = new wxMenuBar();     menuBar->Append(fileMenu, wxT("&File"));     menuBar->Append(helpMenu, wxT("&Help"));     // ... and attach this menu bar to the frame     SetMenuBar(menuBar);     // Create a status bar just for fun     CreateStatusBar(2);     SetStatusText(wxT("Welcome to wxWidgets!")); } 

    team bbl



    Cross-Platform GUI Programming with wxWidgets
    Cross-Platform GUI Programming with wxWidgets
    ISBN: 0131473816
    EAN: 2147483647
    Year: 2005
    Pages: 262

    flylib.com © 2008-2017.
    If you may any questions please contact us: flylib@qtcs.net