动态添加控件到wxWidgets对话框

时间:2015-04-22 13:15:24

标签: c++ wxwidgets

Dialog::Dialog(const wxString & title): wxDialog(NULL, -1, title, wxDefaultPosition, wxSize(200, 200))
{

  panel = new wxPanel(this, -1);

  wxBoxSizer *vbox = new wxBoxSizer(wxVERTICAL);
  wxBoxSizer *hbox = new wxBoxSizer(wxHORIZONTAL);

  wxButton *ab = new wxButton(this, wxID_OK, wxT("a"),
      wxDefaultPosition, wxSize(70, 30));
  wxButton *bb = new wxButton(this, wxID_CANCEL, wxT("b"),
      wxDefaultPosition, wxSize(70, 30));

  hbox->Add(ab, 1);
  hbox->Add(bb,1);

  vbox->Add(panel, 1);
  vbox->Add(hbox, 0, wxALIGN_CENTER | wxTOP | wxBOTTOM, 10);

  SetSizer(vbox);

  Centre();
  ShowModal();

  Destroy();
}

嗨,我想在按钮上动态点击在这个wxDialog中添加wxStaticText,所以每次点击一个按钮时,wxStaticText将被添加到不同的位置,我该怎么做? 谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

如果您向窗口添加或删除控件,则需要使用wxSizer::Layout()wxWindow::Layout()重新布局控件,然后将其转发给窗口大小的前者。