2012-09-19 85 views
0

我在我的應用程序下面的父子relasions:wxScrolledWindow滾動條不工作

enter image description here

的問題是,有在wxScrolledWindow不可見(或工作)滾動條。

代碼:

wxCollapsiblePane* collpane = new wxCollapsiblePane(this, ID_COLLPANE, "Tiles\t\t\t\t", wxDefaultPosition, wxDefaultSize, wxCP_NO_TLW_RESIZE); 
wxSizer* sz = new wxBoxSizer(wxVERTICAL); 
sz->Add(collpane,0,wxALIGN_RIGHT,10); 
SetSizer(sz); 
wxWindow* cPane = collpane->GetPane(); 
wxSizer* panesz = new wxBoxSizer(wxVERTICAL); 
wxBitmap pic("test.bmp",wxBITMAP_TYPE_BMP); 
wxScrolledWindow* scr = new wxScrolledWindow(cPane,ID_PANEL,wxDefaultPosition, wxSize(150,300)); 
scr->SetScrollbars(2,2,10,10); 
wxClientDC dc(this); 
scr->DoPrepareDC(dc); 
panesz->Add(new wxBitmapButton(scr,-1,pic, wxDefaultPosition, wxSize(50,50)), 1, wxALIGN_CENTER, 0); 
/* more button adding here */ 
cPane->SetSizer(panesz); 
panesz->SetSizeHints(cPane); 

我怎樣才能獲得滾動顯示和滾動按鈕?

回答

2

要使用滾動條,您需要使用SetVirtualSize()方法向wxScrolledWindow指示其完全邏輯(而不是可能更小的物理)大小。這可以通過直接調用它或通過將sizer與滾動窗口關聯來完成,向此sizer添加元素並調用FitInside()

+0

這工作!謝謝! – user1233963

0

您應該修改

wxWindow* cPane = collpane->GetPane(); 
wxSizer* panesz = new wxBoxSizer(wxVERTICAL); 
wxBitmap pic("test.bmp",wxBITMAP_TYPE_B ... 

你應該把一個jpg。修改後,它會肯定工作;)相信我。

+0

我承認我不會在這裏開玩笑,但它必須是一個,因爲這不可能改變任何東西,當然... –