wxwidgets-学习心得(2)

#include 
#include 
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("<>wxwidgets欢迎您再来"),wxT("BYE,不要想我噢~"),wxOK|wxICON_INFORMATION,this);
  Close();
}
void wxMyFrame::OnAbout(wxCommandEvent& event)
{
  wxString msg;
  msg.Printf(wxT("<>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);

 


wxwidgets-学习心得(2)_第1张图片
 

你可能感兴趣的:(C++/C/lisp)