분할 윈도우 사용방법 DarkKaiser, 2010년 5월 19일2023년 9월 5일 1. 동적 분할 윈도우 - MainFrm.h CSplitterWnd m_wndSplitterWnd; - MainFrm.cpp BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) { return m_wndSplitterWnd.Create(this, 2, 2, CSize(1, 1), pContext); // return CFrameWnd::OnCreateClient(lpcs, pContext); } 위와 같이 하면 동적 분할 윈도우를 생성하여 사용할 수 있다. 2. 정적 분할 윈도우 - MainFrm.h CSplitterWnd m_wndSplitHor; //수평 분항 CSplitterWnd m_wndSplitVer; //수직 분할 - MainFrm.cpp BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) { //1. 우선 첫번째로 1행 2열로 윈도우를 정적분할 한다. if(!m_wndSplitHor.CreateStatic(this,1, 2)) return FALSE; //2. 첫번째열(0,0)에 해당하는 뷰클래스를 붙인다. if(!m_wndSplitHor.CreateView(0, 0, RUNTIME_CLASS(CLeftListView), CSize(200, 200), pContext)) return FALSE; //3. 두번째 뷰를 다시 2행 1열로 정적분할 한다. if(!m_wndSplitVer.CreateStatic(&m_wndSplitHor, 2, 1, WS_CHILD | WS_VISIBLE, m_wndSplitHor.IdFromRowCol(0, 1))) return FALSE; //4. 두번째로 정적 분할된 윈도우에 첫번째 뷰를 붙인다. if(!m_wndSplitVer.CreateView(0, 0, RUNTIME_CLASS(CTopHtmlView), CSize(100, 300), pContext)) return FALSE; //5. 두번째로 정적 분할된 윈도우에 두번째 뷰를 붙인다. if(!m_wndSplitVer.CreateView(1, 0, RUNTIME_CLASS(CBottomEditView), CSize(200, 100), pContext)) return FALSE; //6. 왼쪽의 뷰에 포커스를 준다. SetActiveView((CView*)m_wndSplitHor.GetPane(0,0)); return TRUE; // return CFrameWnd::OnCreateClient(lpcs, pContext); } C/C++/VC++ CSplitterWnd