Wizard::Wizard(wxWindow* parent, const wxString& archive)
: wxWizard(parent, wxID_ANY, _("Wizard"))
{
this->SetSizeHints(wxSize(-1,-1), wxDefaultSize);
wxWizardPageSimple* rcModWizPageSelect = new wxWizardPageSimple(this);
m_pages.Add(rcModWizPageSelect);
wxBoxSizer* bSizer1;
bSizer1 = new wxBoxSizer(wxVERTICAL);
m_bitmap2 = new wxStaticBitmap(rcModWizPageSelect, wxID_ANY, wxBitmap(wxT("data/img.jpg"), wxBITMAP_TYPE_ANY), wxDefaultPosition, wxDefaultSize, 0);
m_bitmap2->SetMinSize(wxSize(586,192));
bSizer1->Add(m_bitmap2, 0, wxALL|wxEXPAND|wxFIXED_MINSIZE, 5);
wxStaticBoxSizer* sbSizer1;
sbSizer1 = new wxStaticBoxSizer(new wxStaticBox(rcModWizPageSelect, wxID_ANY, _("Select Archive")), wxVERTICAL);
rcModArchivePicker = new wxFilePickerCtrl(rcModWizPageSelect, wxID_ANY, wxEmptyString, _("Select a file"), wxT("*.zip"), wxDefaultPosition, wxDefaultSize, wxFLP_DEFAULT_STYLE|wxFLP_FILE_MUST_EXIST|wxFLP_OPEN);
sbSizer1->Add(rcModArchivePicker, 0, wxALL|wxEXPAND, 5);
bSizer1->Add(sbSizer1, 1, wxALL|wxEXPAND, 5);
rcModWizPageSelect->SetSizer(bSizer1);
rcModWizPageSelect->Layout();
bSizer1->Fit(rcModWizPageSelect);
wxWizardPageSimple* rcModWizPageProgress = new wxWizardPageSimple(this);
m_pages.Add(rcModWizPageProgress);
wxBoxSizer* bSizer2;
bSizer2 = new wxBoxSizer(wxVERTICAL);
m_bitmap1 = new wxStaticBitmap(rcModWizPageProgress, wxID_ANY, wxBitmap(wxT("data/img.jpg"), wxBITMAP_TYPE_ANY), wxDefaultPosition, wxDefaultSize, 0);
m_bitmap1->SetMinSize(wxSize(586,192));
bSizer2->Add(m_bitmap1, 0, wxALL|wxEXPAND|wxFIXED_MINSIZE, 5);
wxStaticBoxSizer* sbSizer2;
sbSizer2 = new wxStaticBoxSizer(new wxStaticBox(rcModWizPageProgress, wxID_ANY, _("Please Wait")), wxVERTICAL);
rcModInstallProgress = new wxGauge(rcModWizPageProgress, wxID_ANY, 100, wxDefaultPosition, wxDefaultSize, wxGA_HORIZONTAL|wxGA_SMOOTH);
rcModInstallProgress->SetValue(0);
sbSizer2->Add(rcModInstallProgress, 0, wxALL|wxEXPAND, 5);
bSizer2->Add(sbSizer2, 1, wxALL|wxEXPAND, 5);
rcModWizPageProgress->SetSizer(bSizer2);
rcModWizPageProgress->Layout();
bSizer2->Fit(rcModWizPageProgress);
this->Centre(wxBOTH);
for (unsigned int i = 1; i < m_pages.GetCount(); i++)
{
m_pages.Item(i)->SetPrev(m_pages.Item(i - 1));
m_pages.Item(i - 1)->SetNext(m_pages.Item(i));
}
}
我尝试拥有一个不错的向导对话框,但最小大小被忽略,整体框架比我的图像小得多。该图像的大小为586x192。wxSizer和wxStaticBitmap忽略最小大小
在wxFormBuilder中预览看起来不错,但生成的代码看起来完全不同。 这里2图像: http://i.stack.imgur.com/tbOzP.png http://i.stack.imgur.com/B3vVf.png
谁能帮助我?
嗯以及我的想法是多叫飞度()实际帧或实际窗口或可能在窗口和你rcModWizPageSelect两个,但如果不工作,要么这似乎是一个很奇怪的问题。即使你的窗口可能正在计算它的大小取决于实际的屏幕分辨率,而不是查看内部的窗口小部件并应用它自己的最小尺寸(是否为窗口设置了最小尺寸?) – Roin 2012-07-12 15:26:52