【发布时间】:2014-08-27 04:47:11
【问题描述】:
我正在尝试创建一个窗口,该窗口在主窗口中分为 2、3、4 个等不同大小的可调整大小的视图,我想在 C::B 中使用 wxWidgets 来实现它。实际上,画布本身会按照请求的数字分割窗口,但它不会沿着视图的边界放置任何窗扇,因此很难注意到哪个视图从哪里开始,在哪里结束。
我在运行时创建了所有东西,我打算在视图边界周围放置窗扇或面板,并希望在我的情况下工作,但主框架不愿意放置面板,并且 sashwidnwos 在正确的位置并停止处理 OnSize 事件。如果我在调整大小的过程中添加下面的代码以及大小调整器和面板,那么以前的工作代码无法正常运行。
MainFrame *frame = new MainFrame(NULL, wxT("wxWidgets OSG Sample"),
wxDefaultPosition, wxSize(width, height));
wxToolBar* toolbar = new wxToolBar(frame, wxID_ANY,wxDefaultPosition, wxDefaultSize, wxTB_HORIZONTAL);
//wxSashLayoutWindow* win = new wxSashLayoutWindow(frame, ID_WINDOW_TOP,wxPoint(50,10), wxSize(200, 30),
// wxSW_3D | wxCLIP_CHILDREN);
wxBoxSizer* sizer = new wxBoxSizer(wxVERTICAL);
wxPanel* panel = new wxPanel(frame, ID_TBbutton, wxPoint(300,0), wxSize(5,500));
panel->SetWindowStyle(wxDOUBLE_BORDER);
// panel->SetStyle(wx_3D)
wxPanel* panel1 = new wxPanel(frame, ID_TBbutton);
sizer->Add( panel, 0, wxALL, 0 );
frame->SetSizer(sizer);
frame->SetToolBar(toolbar);
【问题讨论】:
标签: c++ wxwidgets codeblocks