欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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);

 


wxwidgets-学习心得(2)
            
    
    博客分类: C++/C/lisp  
 

  • wxwidgets-学习心得(2)
            
    
    博客分类: C++/C/lisp  
  • 大小: 59.8 KB