wxwidget程序诠释
wxwidget程序注释
#include "wx/wx.h" /*声明app*/ class MyApp: public wxApp { virtual bool OnInit(); }; /*声明frame*/ class MyFrame: public wxFrame { public: MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size); void OnQuit(wxCommandEvent& event); void OnAbout(wxCommandEvent& event); DECLARE_EVENT_TABLE()//使用宏来声明事件table }; /*定义事件ID,用于事件响应与事件处理函数的绑定*/ enum { ID_Quit = 1, ID_About, }; BEGIN_EVENT_TABLE(MyFrame, wxFrame) EVT_MENU(ID_Quit, MyFrame::OnQuit) EVT_MENU(ID_About, MyFrame::OnAbout) END_EVENT_TABLE() /*使用宏来实现一个main方法,在这个main方法中创建一个应用实例并且启动程序*/ IMPLEMENT_APP(MyApp) /*实现app*/ bool MyApp::OnInit() { MyFrame *frame = new MyFrame( _("Hello World"), wxPoint(50, 50), wxSize(450, 340) ); frame->Show(true); SetTopWindow(frame); return true; } /*实现MyFrame*/ MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size) : wxFrame(NULL, -1, title, pos, size) { wxMenu *menuFile = new wxMenu; menuFile->Append( ID_About, _("&About...") ); menuFile->AppendSeparator(); menuFile->Append( ID_Quit, _("E&xit") ); wxMenuBar *menuBar = new wxMenuBar; menuBar->Append( menuFile, _("&File") ); SetMenuBar( menuBar ); CreateStatusBar(); SetStatusText( _("Welcome to wxWidgets!") ); } /*实现MyFrame成员方法*/ void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event)) { Close(true); } /*实现MyFrame成员方法*/ void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event)) { wxMessageBox( _("This is a wxWidgets Hello world sample"), _("About Hello World"), wxOK | wxICON_INFORMATION, this ); }