【发布时间】:2021-02-18 04:31:11
【问题描述】:
我用
创建我的应用程序的主窗口Main::Main() : wxFrame(nullptr, wxID_ANY, "Test", wxPoint(64, 64), wxSize(1024, 768))
在这个窗口中,我放置了另一个 View 类型的窗口,其构造函数如下所示:
View::View(wxWindow* parent) : wxHVScrolledWindow(parent, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxFULL_REPAINT_ON_RESIZE)
视图在main的构造函数中通过m_view = new View(this);添加到main中
这给了我一个如下所示的应用程序:
这正是我所期望的。我需要在主窗口中添加更多控件,因此我想开始使用 sizer 让它们以独立于分辨率的方式布局。但是,如果我只是在我的视图周围添加这个简单的 sizer:
auto sizer = new wxBoxSizer(wxHORIZONTAL);
m_view = new View(this);
sizer->Add(m_view, 1, wxEXPAND);
SetSizerAndFit(sizer);
我最终得到了这个:
我曾希望我的视图会扩大并适合主窗口,但这种情况没有发生。我做错了什么?
我使用的是 wxWidgets 3.14 版。
【问题讨论】: