gpt4 book ai didi

c++ - 如何在 wxwidgets 中创建可调整大小的面板?

转载 作者:行者123 更新时间:2023-11-30 03:50:42 28 4
gpt4 key购买 nike

我需要在一个框架中有 3 个面板,用户可以通过向左或向右拖动来调整左面板和右面板。我已经使用 AUI 管理器完成了此操作,但我想在不使用 AUI(可能是 sizer)的情况下执行相同的操作。任何想法如何实现这一目标?我已尝试如下所示,但我无法调整面板的大小。

MyFrame1::MyFrame1( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxFrame( parent, id, title, pos, size, style ){ this->SetSizeHints( wxDefaultSize, wxDefaultSize );

wxBoxSizer* bSizer6;
bSizer6 = new wxBoxSizer( wxHORIZONTAL );

wxBoxSizer* bSizer7;
bSizer7 = new wxBoxSizer( wxHORIZONTAL );

m_panel11 = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
bSizer7->Add( m_panel11, 5, wxEXPAND | wxALL, 5 );


bSizer7->Add( 0, 0, 1, wxEXPAND, 5 );


bSizer6->Add( bSizer7, 1, wxEXPAND, 5 );

wxBoxSizer* bSizer9;
bSizer9 = new wxBoxSizer( wxHORIZONTAL );

m_panel12 = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
bSizer9->Add( m_panel12, 1, wxEXPAND | wxALL, 5 );


bSizer6->Add( bSizer9, 1, wxEXPAND, 5 );

wxBoxSizer* bSizer10;
bSizer10 = new wxBoxSizer( wxHORIZONTAL );

m_panel13 = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
bSizer10->Add( m_panel13, 1, wxEXPAND | wxALL, 5 );


bSizer6->Add( bSizer10, 1, wxEXPAND, 5 );


this->SetSizer( bSizer6 );
this->Layout();

this->Centre( wxBOTH );

最佳答案

听起来您想要使用的是 wxSplitterWindow。您可以在 http://docs.wxwidgets.org/3.0/classwx_splitter_window.html 找到此类的文档。 .

关于c++ - 如何在 wxwidgets 中创建可调整大小的面板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31606490/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com