Docking wxPanel

wxFormBuilder¿¡¼­ ¸¸µç wxPanelÀ» wxFrame¿¡ µµÅ· ½ÃÄÑ º»´Ù.

µµÅ·À» À§Çؼ­´Â wxAuiManager°¡ ÇÊ¿äÇÏ´Ù.

1. °ü¸® ÇÒ  À©µµ¿ì ¼³Á¤
m_mgr.SetManagedWindow(this);    
//Æ÷ÀÎÅÍ·Î »ý¼ºÇÏ¸é »ý·« °¡´É wxAuiManager* m_mgr = new wxAuiManager(this);

2. PaneÀ» Ãß°¡ ÇÑ´Ù. ( m_panel ¸â¹öº¯¼ö¸¦ º°µµ·Î °¡Áö°í ÀÖÀ»   ÇÊ¿ä´Â¾ø´Ù. ¿©±â¼­´Â Á¦¾î¸¦ À§Çؼ­ °¡Áö°í ÀÖ´Ù. )
m_panel = new DebugPanel( this );
m_mgr.AddPane(m_panel, wxLEFT, wxT("Debug Window"));

3. ¾÷µ¥ÀÌÆ® (µµÅ· wxPanelÀ» Ãß°¡Çϸé wxAuiManager¸¦ ¾÷µ¥ÀÌÆ® ÇÑ´Ù)
m_mgr.Update();

4. ¼Ò¸ê : wxFrame ¼Ò¸ê½Ã UnInit() ÇØÁØ´Ù.
m_mgr.UnInit();

//MyFrame.cpp

#include "MyFrame.h"

 

MyFrame::MyFrame( wxWindow* parent )

: MainFrame(parent, wxID_ANY, wxT("Hello World!!"),

                                wxDefaultPosition, wxSize(700, 700),

                                wxDEFAULT_FRAME_STYLE | wxSUNKEN_BORDER )

{

    //WxWidgetÀÇ ¹ö±×Àεí (WxWidget 2.9.1 ¹öÀü¿¡¼­ )

    //wxanelÀ» ÇÑ°³¸¸ Ãâ·ÂÇÏ´Â °æ¿ì wxFrame::Show()¸¦ ³ªÁß¿¡ Çϸé Ãâ·ÂµÇÁö ¾Ê´Â´Ù.

    //wxPanelÀ» µÎ°³ ÀÌ»óÀÎ °æ¿ì wxFrame::Show()À» AUI »ý¼º, ÃʱâÈ­ ÈÄ¿¡µµ Á¤»óÀûÀ¸·Î ±×·ÁÁø´Ù.P

    this->Show(true);

 

    //AUI init

    m_mgr.SetManagedWindow(this);

    m_panel = new DebugPanel( this );

    m_mgr.AddPane(m_panel, wxLEFT, wxT("Debug Window"));

    m_mgr.Update();

}

 

MyFrame::~MyFrame()

{

    m_mgr.UnInit();   

}

¹ö±×Àΰ¡??

À§ÀÇ ¼Ò½º¿¡¼­ wxPanelÀ» Ãß°¡Çϱâ Àü¿¡ wxFrameÀ» Show() ÇØÁÖ°í ÀÖ´Ù.
wxPanelÀÌ Çϳª¸¸ Ãß°¡µÇ´Â °æ¿ì wxFrame::Show() ÇÏÁö ¾ÊÀ¸¸é Æä³ÎÀÌ ·»´õ¸µ µÇÁö ¾Ê´Â´Ù.
wxPanelÀÌ 2°³ ÀÌ»óÀÎ °æ¿ì Á¤»óÀûÀ¸·Î ·»´õ¸µ µÈ´Ù.
wxPanelÀÌ Çϳª¸¸ Ãß°¡µÇ´Â °æ¿ì¿¡µµ wxFrame::Show()¸¦ ¹Ì¸® ÇØÁÖ¸é Á¦´ë·Î ·»´õ¸µ µÈ´Ù.

´Ù¿î·Îµå: WxTest02.zip