C++ 将背景平铺的面板居中放置在空周边

C++ 将背景平铺的面板居中放置在空周边,c++,layout,wxwidgets,boxsizer,C++,Layout,Wxwidgets,Boxsizer,我有一个来自wxPanel的固定大小的面板,我在上面blit图像/绘制几何形状。这出现在从wxFrame派生的帧中 现在,我希望无论何时最大化/调整帧的大小,面板appinterface都位于帧的中心。此外,所有四个方向上的空白空间应具有平铺背景 我可以使用大小器、水平和垂直方形大小器居中,但如何填充空白空间 这是我的代码,目前仅将面板水平居中 wxBoxSizer *sizer = new wxBoxSizer(wxHORIZONTAL); appInterface = new Interf

我有一个来自wxPanel的固定大小的面板,我在上面blit图像/绘制几何形状。这出现在从wxFrame派生的帧中

现在,我希望无论何时最大化/调整帧的大小,面板appinterface都位于帧的中心。此外,所有四个方向上的空白空间应具有平铺背景

我可以使用大小器、水平和垂直方形大小器居中,但如何填充空白空间

这是我的代码,目前仅将面板水平居中

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中的东西是用绝对坐标绘制的,所以简单地在中间绘制并不容易。

为什么不能将面板添加到另一个面板中?@araqnid:因为我做得不正确,即出现了错误,我认为我无法将面板添加到面板中。但一旦有人确认我可以,我就避开了所有的错误,正确地在面板中添加了面板。是的,这是我问题的解决方案。虽然已经解决了,但如果有人回答这个问题,我会接受这个答案。