I have a wxDialog instance as created below:
But the problem is that none of the wxStaticText instances are shown!
The wxScrolledWindow is needed since many wxPanel of type "panelVersionInfo" need to be added dynamically.
Code: Select all
VersionsDialog::VersionsDialog(wxWindow* parent) : wxDialog(parent, -1, wxT("Previous Versions"),
wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxCAPTION | wxRESIZE_BORDER | wxSTAY_ON_TOP)
{
m_panelVersionSettings = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL);
boxSizerVersion = new wxBoxSizer(wxVERTICAL);
m_panelVersionSettings->SetSizer(boxSizerVersion);
m_VersionsScrolledWindow = new wxScrolledWindow(m_panelVersionSettings, wxID_ANY, wxDefaultPosition, wxSize(-1, -1), wxBORDER_SIMPLE | wxVSCROLL);
m_VersionsScrolledWindow->SetScrollRate(0, 16);
m_VersionsControlsbox = new wxBoxSizer(wxVERTICAL);
m_VersionsScrolledWindow->SetSizer(m_VersionsControlsbox);
boxSizerVersion->Add(m_VersionsScrolledWindow, 1, wxALL | wxEXPAND, 5);
wxPanel* panelVersionInfo = new wxPanel(m_VersionsScrolledWindow, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL);
wxBoxSizer* fgs = new wxBoxSizer(wxHORIZONTAL);
m_VersionsControlsbox->Add(fgs, 1, wxEXPAND, 0);
fgs->Add(panelVersionInfo, 1, wxEXPAND, 0);
wxStaticText* versionNum = new wxStaticText(panelVersionInfo, wxID_ANY, "versionName", wxDefaultPosition, wxDefaultSize);
fgs->Add(versionNum, 1, wxALL | wxEXPAND, 5);
wxStaticText* size = new wxStaticText(panelVersionInfo, wxID_ANY, "size", wxDefaultPosition, wxDefaultSize);
fgs->Add(size, 1, wxALL | wxEXPAND, 5);
wxStaticText* createdOn = new wxStaticText(panelVersionInfo, wxID_ANY, "createdon", wxDefaultPosition, wxDefaultSize);
fgs->Add(createdOn, 1, wxALL | wxEXPAND, 5);
m_VersionsControlsbox->SetSizeHints(m_VersionsScrolledWindow);
m_VersionsScrolledWindow->FitInside();
m_VersionsControlsbox->FitInside(m_VersionsScrolledWindow);
m_VersionsScrolledWindow->Layout();
m_VersionsControlsbox->Layout();
SetSizerAndFit(m_VersionsControlsbox);
//SetSizerAndFit(boxSizerVersion);
this->Layout();
}