wxGridSizer
在二维表中布置小部件。表格中的每个单元格都具有相同的大小。
class LayoutGridsizer:public wxFrame
{
public:
LayoutGridsizer(const wxString& title);
};
LayoutGridsizer::LayoutGridsizer(const wxString& title)
:wxFrame(NULL,wxID_ANY,title,wxDefaultPosition,wxSize(680,280))
{
wxMenuBar *mbMain = new wxMenuBar;
wxMenu *menu = new wxMenu;
SetMenuBar(mbMain);
wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL);
wxTextCtrl *text = new wxTextCtrl;
text->Create(this,wxID_ANY,"",
wxPoint(-1,-1),//=wxDefaultPosition
wxSize(-1,-1),//=wxDefaultSize
wxTE_RIGHT);
sizer->Add(text,0,wxEXPAND|wxTOP|wxBOTTOM,4);
wxGridSizer *gs = new wxGridSizer(5,//行数
4,//列数
3,//垂直间距
3//水平间距
);
gs->Add(new wxButton(this, -1, wxT("Cls")), 0, wxEXPAND);
gs->Add(new wxButton(this, -1, wxT("Bck")), 0, wxEXPAND);
gs->Add(new wxStaticText(this, -1, wxT("")), 0, wxEXPAND);
gs->Add(new wxButton(this, -1, wxT("Close")), 0, wxEXPAND);
gs->Add(new wxButton(this, -1, wxT("7")), 0, wxEXPAND);
gs->Add(new wxButton(this, -1, wxT("8")), 0, wxEXPAND);
gs->Add(new wxButton(this, -1, wxT("9")), 0, wxEXPAND);
gs->Add(new wxButton(this, -1, wxT("/")), 0, wxEXPAND);
gs->Add(new wxButton(this, -1, wxT("4")), 0, wxEXPAND);
gs->Add(new wxButton(this, -1, wxT("5")), 0, wxEXPAND);
gs->Add(new wxButton(this, -1, wxT("6")), 0, wxEXPAND);
gs->Add(new wxButton(this, -1, wxT("*")), 0, wxEXPAND);
gs->Add(new wxButton(this, -1, wxT("1")), 0, wxEXPAND);
gs->Add(new wxButton(this, -1, wxT("2")), 0, wxEXPAND);
gs->Add(new wxButton(this, -1, wxT("3")), 0, wxEXPAND);
gs->Add(new wxButton(this, -1, wxT("-")), 0, wxEXPAND);
gs->Add(new wxButton(this, -1, wxT("0")), 0, wxEXPAND);
gs->Add(new wxButton(this, -1, wxT(".")), 0, wxEXPAND);
gs->Add(new wxButton(this, -1, wxT("=")), 0, wxEXPAND);
gs->Add(new wxButton(this, -1, wxT("+")), 0, wxEXPAND);
sizer->Add(gs,1,wxEXPAND);
SetSizer(sizer);
SetMinSize(wxSize(200,180));//设定窗口最小大小
Centre();
}