/*
*程序的版权和版本声明部分:
*Copyright(c)2014,烟台大学计算机学院学生
*All rights reserved.
*文件名称:
*作者:田成琳
*完成日期:2014 年 5 月 23 日
*版本号:v1.0
*对任务及求解方法的描述部分:
*输入描述: -
*问题描述:初体验wxWidgets
*程序输出:一个简单的小窗口,含有两个按钮
*问题分析:
*算法设计:
*/
#include<wx/wx.h>
class Button : public wxFrame
{
public:
Button(const wxString& title);
void OnSayHello(wxCommandEvent &event);
void OnQuit(wxCommandEvent & event);
};
Button::Button(const wxString& title)
:wxFrame(NULL,wxID_ANY,title,wxDefaultPosition,wxSize(250,150))
{
//首先创建一个wxpanel部件。它将被放置在一个wxframe部件。
wxPanel *panel = new wxPanel(this,wxID_ANY);
wxButton *button = new wxButton(panel,wxID_EXIT,wxT("Quit"),wxPoint(120,70));
wxButton *nbutton = new wxButton(panel,wxID_EDIT,wxT("SayHello"),wxPoint(20,70));
Connect(wxID_EXIT,wxEVT_COMMAND_BUTTON_CLICKED,wxCommandEventHandler(Button::OnQuit));
Connect(wxID_EDIT,wxEVT_COMMAND_BUTTON_CLICKED,wxCommandEventHandler(Button::OnSayHello));
button->SetFocus();
nbutton->SetFocus();
Centre();
}
void Button::OnSayHello(wxCommandEvent & WXUNUSED(event))
{
wxString str=wxT("Hello!");
MessageBoxW(str);
}
void Button::OnQuit(wxCommandEvent & WXUNUSED(event))
{
Close(true);
}
class MyApp:public wxApp
{
public:
virtual bool OnInit();
};
IMPLEMENT_APP(MyApp)
DECLARE_APP(MyApp)
bool MyApp::OnInit()
{
Button *newbutton = new Button(wxT("Button"));
newbutton->Show(true);
return true;
}
运行结果:
心得体会:~~~