我是 C::B 和 wxWidgets 的新手。我试图创建一个像这样的简单屏幕:
但是当它运行时我得到了这个:
我已经更改了一些属性,如下所示,但我不确定这是否是正确的做法。
- 我在表单上放置了一个弹性网格。做了 1 列和 3 行
- 放置了 3 个 BoxSizer。所以他们是一个在另一个之下。将扩展属性设置为 true。
- 在前 2 个 boxer sizer 中放置了 StaticText 和 TextCtrl 元素(各一个)
- 在第三个盒子尺寸器中放置了一个垫片和按钮
- 对于地址文本框,我将多行属性设置为 true(复选框) 5。
但是运行时,它似乎并没有增长。底部的按钮不见了。
有关如何解决此问题的任何想法请...谢谢!
这是为表单生成的(部分)默认代码。
KBond::KBond(wxWindow* parent,wxWindowID id,const wxPoint& pos,const wxSize& size)
{
//(*Initialize(KBond)
wxBoxSizer* BoxSizer2;
wxBoxSizer* BoxSizer1;
wxFlexGridSizer* FlexGridSizer1;
wxBoxSizer* BoxSizer3;
Create(parent, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER, _T("wxID_ANY"));
SetClientSize(wxSize(520,300));
FlexGridSizer1 = new wxFlexGridSizer(3, 1, 0, 0);
BoxSizer1 = new wxBoxSizer(wxHORIZONTAL);
StaticText1 = new wxStaticText(this, ID_STATICTEXT1, _("Enter your name"), wxDefaultPosition, wxSize(90,27), 0, _T("ID_STATICTEXT1"));
BoxSizer1->Add(StaticText1, 1, wxALL|wxSHAPED|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
TextCtrl1 = new wxTextCtrl(this, ID_TEXTCTRL1, _("Text"), wxDefaultPosition, wxSize(148,27), 0, wxDefaultValidator, _T("ID_TEXTCTRL1"));
BoxSizer1->Add(TextCtrl1, 2, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
FlexGridSizer1->Add(BoxSizer1, 1, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
BoxSizer2 = new wxBoxSizer(wxHORIZONTAL);
StaticText2 = new wxStaticText(this, ID_STATICTEXT2, _("Address"), wxDefaultPosition, wxSize(122,22), 0, _T("ID_STATICTEXT2"));
BoxSizer2->Add(StaticText2, 1, wxALL|wxALIGN_TOP|wxALIGN_CENTER_HORIZONTAL, 5);
TextCtrl2 = new wxTextCtrl(this, ID_TEXTCTRL2, _("Text"), wxDefaultPosition, wxSize(113,98), wxTE_MULTILINE, wxDefaultValidator, _T("ID_TEXTCTRL2"));
BoxSizer2->Add(TextCtrl2, 2, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
FlexGridSizer1->Add(BoxSizer2, 1, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
BoxSizer3 = new wxBoxSizer(wxHORIZONTAL);
BoxSizer3->Add(0,0,2, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
Button1 = new wxButton(this, ID_BUTTON1, _("Label"), wxDefaultPosition, wxSize(62,29), 0, wxDefaultValidator, _T("ID_BUTTON1"));
Button1->SetMaxSize(wxSize(0,0));
BoxSizer3->Add(Button1, 1, wxALL|wxSHAPED|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
FlexGridSizer1->Add(BoxSizer3, 1, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
SetSizer(FlexGridSizer1);
FlexGridSizer1->SetSizeHints(this);
Connect(wxID_ANY,wxEVT_INIT_DIALOG,(wxObjectEventFunction)&KBond::OnInit);
//*)
}