3

オブジェクトサイズを親サイズに合わせるにはどうすればよいですか( -> -> ...のwxGrid後に継承します) ?メソッドを試しましたが、機能しません。 方法:wxScrollerWindowwxWindowswxPanelFitOnInit

bool MyApp::OnInit()
{
    wxFrame * win = new wxFrame(NULL, -1, _T("App"), wxPoint(300,300), wxSize(400,300), wxDEFAULT_FRAME_STYLE);
    wxPanel * panel = new wxPanel(win, -1);
    wxGrid * grid = new wxGrid(panel, -1, wxPoint(5,5), wxSize(300,200));
    grid->SetDefaultColSize(120);
    grid->SetDefaultRowSize(55);
    grid->SetRowLabelSize(55);
    grid->SetColLabelSize(25);
    grid->CreateGrid(2,6,wxGrid::wxGridSelectCells);
    grid->Fit();
    win->Show();
    return true;
}

MyAppの後に継承しwxAppます。

4

1 に答える 1

4

あなたはサイザーを使用したいかもしれません:

wxSizer* sizer = new wxBoxSizer(wxHORIZONTAL);
// expand contents, add 5px border on all sides:
sizer->Add(grid,1,wxEXPAND|wxALL,5);
panel->SetSizer(sizer);

wxFrameのサイズが変更されると(および初めて表示されると)、クライアントのサイズに合わせて、唯一の(直接の)子ウィンドウ(パネル)のサイズが自動的に変更されます。パネルのサイザーがグリッドのサイズを変更します。

于 2012-11-18T12:08:42.307 に答える