我有一个固定大小的面板(源自 wxPanel ),在其上我blit图像/绘制几何形状。它出现在一个框架中(源自 wxFrame )。
现在我希望每当帧最大化/调整大小时,面板( appinterface )都在帧内居中。此外,所有四个方向的空白区域都应具有平铺背景(无缝)。
我可以使用sizer,horizontal&垂直 boxsizers ,但我如何填补空白区域。
这是我的代码,目前只能水平居中于面板。
wxBoxSizer *sizer = new wxBoxSizer(wxHORIZONTAL);
appInterface = new Interface((wxFrame *)this, kFrameWidth - 20, kFrameHeight - 110);
sizer->Add(1, 1, 1, wxEXPAND);
sizer->Add(appInterface, 1, wxEXPAND | wxALIGN_CENTER);
sizer->Add(1, 1, 1, wxEXPAND);
SetSizer(sizer);
SetAutoLayout(true);
我想我无法添加背景到框架,我无法在面板内添加面板,因为如果可能,那么解决我的问题就很容易了。
注意:appinterface中的内容是使用绝对坐标绘制的,因此简单地在中心绘制并不容易。