wxwidgets-学习心得(2)
程序员文章站
2022-04-29 10:48:13
...
#include <wx/wx.h> #include <ctime> using namespace std; // 应用程序类 class wxMyApp : public wxApp { public: // 虚函数 virtual bool OnInit(); }; //窗口类 class wxMyFrame:public wxFrame { public: //主窗口 wxMyFrame(const wxString &title); //事件处理函数 void OnQuit(wxCommandEvent& event); void OnAbout(wxCommandEvent& event); void OnOpen(wxCommandEvent& event); }; #include "mywx.xpm" //构造函数 wxMyFrame::wxMyFrame(const wxString& title):wxFrame(NULL,wxID_ANY,title) { //设置窗口图标 SetIcon(wxIcon(mywx_xpm)); //创建菜单条 wxMenu *fileMenu=new wxMenu; wxMenu *helpMenu=new wxMenu; fileMenu->Append(wxID_OPEN,wxT("&Open file...\tALT-O"),wxT("现在时间")); helpMenu->Append(wxID_EXIT,wxT("E&xit\tAlt-X"),wxT("退出程序")); //将菜单项加到菜单条。 wxMenuBar *menuBar=new wxMenuBar(); menuBar->Append(fileMenu,wxT("&File")); menuBar->Append(helpMenu,wxT("&Help")); //将菜单条放置到主窗口 SetMenuBar(menuBar); //创建状态条 CreateStatusBar(2); SetStatusText(wxT("我的第二个WX程序")); // 创建一个按钮 new wxButton(this, wxID_ABOUT, wxT("关于我") ); // 与事件处理器连接 Connect(wxID_ABOUT,wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(wxMyFrame::OnAbout) ); Connect(wxID_EXIT,wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(wxMyFrame::OnQuit) ); Connect(wxID_OPEN,wxEVT_COMMAND_MENU_SELECTED , wxCommandEventHandler(wxMyFrame::OnOpen) ); } //窗口类的事件处理函数 void wxMyFrame::OnQuit(wxCommandEvent& event) { wxMessageBox(wxT("<<deepfuture.iteye.com>>wxwidgets欢迎您再来"),wxT("BYE,不要想我噢~"),wxOK|wxICON_INFORMATION,this); Close(); } void wxMyFrame::OnAbout(wxCommandEvent& event) { wxString msg; msg.Printf(wxT("<<deepfuture.iteye.com>>wxwidgets版本号:%s"),wxVERSION_STRING); wxMessageBox(msg,wxT("我的第二个WX程序"),wxOK|wxICON_INFORMATION,this); } void wxMyFrame::OnOpen(wxCommandEvent& event) { wxMessageBox(wxT("wxwidgets欢迎您"),wxT("文件已经打开~"),wxOK|wxICON_INFORMATION,this); } bool wxMyApp::OnInit() { wxMyFrame *frame=new wxMyFrame(wxT("第二个wx程序")); frame->Show(true); return true; } IMPLEMENT_APP(wxMyApp);