Проблема
У меня есть wxGrid
со многими строками (> 200), помещенными внутри wxFlexGridSizer
. Проблема в том, что у меня пропадает кнопка под сеткой. То же самое с wxBoxSizer
работает с использованием настройки proportion.
Результат должен выглядеть как решение wxBoxSizer. Есть ли способ использовать wxFlexGridSizer
в такой ситуации?
wxBoxSizer (работает)
wxGrid *grid = new wxGrid(this, wxID_ANY);
grid->CreateGrid(0, 2);
grid->SetDefaultRowSize(20);
grid->AppendRows(200);
wxButton *button = new wxButton(this, wxID_ANY, "button");
wxBoxSizer *bsMain = new wxBoxSizer(wxHORIZONTAL);
bsMain->Add(grid, 1, wxALL, 5);
bsMain->Add(button, 0, wxALL, 5);
SetSizer(bsMain);
wxGridSizer (не работает)
wxGrid *grid = new wxGrid(this, wxID_ANY);
grid->CreateGrid(0, 2);
grid->SetDefaultRowSize(20);
grid->AppendRows(200);
wxButton *button = new wxButton(this, wxID_ANY, "button");
wxFlexGridSizer *fgsMain = new wxFlexGridSizer(1, 0, 0);
fgsMain->Add(grid, 1, wxALL, 5);
fgsMain->Add(button, 0, wxALL, 5);
fgsMain->AddGrowableRow(0);
fgsMain->AddGrowableCol(0);
SetSizer(fgsMain);
Я пытался использовать AddGrowableRow
для обеих строк, настройку пропорций, флаг wxEXPAND
.
Здесь есть аналогичный вопрос, но решение является обходным путем:
Подгонка большой сетки (wxGrid) в диалоговом окне (wxDialog)< /а>
(скриншоты сделаны с wxFormBuilder v3.8.1
)
Layout()
илиSetSizerAndFit(...)
. - person Ripi2   schedule 09.08.2019