secondsen 发表于 2013-4-14 15:02:39

[已解决]wxauimanager,关于子窗口尺寸的问题

如图所示。。我想让子窗不能进行宽度更改,但是左侧的两个窗口,可以进行长度的更改。。但是怎么也不成功。。。求教。。。

wxFrame::OnInit中。。是这么做的

    AuiMgr.AddPane(CreateNotebook(), wxAuiPaneInfo().Name(wxT(CLIENT_TILE_SELECT_WINDOW_NAME)).
                  Left().CaptionVisible(false).Layer(1).Position(1).PaneBorder(false));

    wxTreeCtrl* pTreeC = CreateTreeCtrl();
    AuiMgr.AddPane(pTreeC, wxAuiPaneInfo().
                  Name(wxT(CLIENT_MAP_TREE_WINDOW_NAME)).
                  Bottom().CaptionVisible(false).Layer(1).Position(1));

    pPanel = new _2nDs_Panel(this, wxID_ANY, wxPoint(277,0), wxSize(1000,1000));
    AuiMgr.AddPane(pPanel, wxAuiPaneInfo().
                  Name(wxT(CLIENT_DRAW_MAP_WINDOW_NAME)).
                  CaptionVisible(false).CenterPane());

    int i, count;
    wxAuiPaneInfoArray& all_panes = AuiMgr.GetAllPanes();
    for (i = 0, count = all_panes.GetCount(); i < count; ++i)
        if (!all_panes.Item(i).IsToolbar())
            all_panes.Item(i).Hide();
    AuiMgr.GetPane(wxT(CLIENT_TILE_SELECT_WINDOW_NAME)).Show().Left().Layer(0).Row(0).Position(0).MinSize(278,128);
    AuiMgr.GetPane(wxT(CLIENT_MAP_TREE_WINDOW_NAME)).Show().Left().Layer(0).Row(0).Position(0).MinSize(278,128);
    AuiMgr.GetPane(wxT(CLIENT_DRAW_MAP_WINDOW_NAME)).Show().Movable(0);

    AuiMgr.Update();

secondsen 发表于 2013-4-14 15:05:49

最后几行 我设置了MinSize是有用的。。。左侧的两个窗口宽度不能缩小了,但是我加上MaxSize之后。。。左侧的窗口仍然可以拉宽。。。

secondsen 发表于 2013-4-23 17:42:42

改了源代码,重新编译,解决了
页: [1]
查看完整版本: [已解决]wxauimanager,关于子窗口尺寸的问题