Центрирование панели с плиточным фоном в пустых окружениях

У меня есть панель фиксированного размера (полученная из wxPanel), на которой я блею изображения / рисую геометрические фигуры. Это присутствует в кадре (полученном из 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);

Я думаю, я не могу добавить фон к кадру, и я не могу добавить панель внутри панели, потому что если бы это было возможно, то было бы легко решить мою проблему.

ПРИМЕЧАНИЕ. Вещи внутри интерфейса рисуются с использованием абсолютных координат, поэтому было бы нелегко просто рисовать в центре.

0 ответов

Другие вопросы по тегам