컴퓨터 공부/MFC 프로그래밍

[5월 25일 3교시] Split Window

려리군 2009. 5. 25. 12:37


Document-View 구조


Frame Window는 View Window의 부모이며 View를 생성한다.


동적 Splitter Window

CMainFrame::OnCreateClient함수에서

CSplitterWnd::Create함수 참고

최대 가로 2개, 세로 2개 까지의 동적 분할 창(Splitter Window)을 만들 수 있다.

사용자 인터페이스 기능에서 '분할창' 선택


정적 Splitter Window

CMainFrame::OnCreateClient에서


CSplitterWnd::CreateStatic(부모윈도우포인터, 세로나눌 개수, 가로 나눌 개수, 스타일, ID);

virtual BOOL CreateStatic(CWnd* pParentWnd, int nRows, int nCols, DWORD dwStyle = WS_CHILD | WS_VISIBLE, UINT nID = AFX_IDW_PANE_FIRST);

참고주소 : http://msdn.microsoft.com/ko-kr/library/87z44b55(VS.80).aspx

정적인 분할 윈도우를 만든다.

리턴 : 성공시 TRUE, 실패시 FALSE

pParentWnd : 분할 윈도우의 부모 프레임 윈도우(포인터)

nRows : 행의 수. 16을 넘으면 안된다.

nCols : 열의 수. 16을 넘으면 안된다.

dwStyle : 윈도우 스타일을 지정한다.

nID : 윈도우의 파일드 윈도우 ID. ID는 분할 윈도우가 다른 분할 윈도우 안에 포함되지 않는다면 AFX_IDW_PANE_FIRST가 될 수 있다.


CSplitterWnd::CreateView(세로위치, 가로위치, View에 대한 RUNTIME클래스, 나눌 크기, pContext);

virtual BOOL CreateView(int row, int col, CRuntimeClass* pViewClass, SIZE sizeInit, CCreateContext* pContext);

참고주소 : http://msdn.microsoft.com/ko-kr/library/ha4x4wc7(VS.80).aspx

분할창을 선택할 필요가 없음.

정적 분할 창에 대한 (동적 분할)창을 만든다.

row : 새로운 뷰의 분할 윈도우 행을 지정한다.

col :  새로운 뷰의 분할 윈도우 열을 지정한다.

pViewClass : 새로운 뷰의 CRuntimeClass를 지정한다.

sizeInit : 새로운 뷰의 초기 크기를 정한다.

pContext : (만들어지고 있는 분할 창에서 CFrameWnd::OnCreateClient 함수에 의해 재정의된 부모 프레임으로 전달되는 pContext) 뷰를 생성하는 데 사용되는 context에 대한 포인터


CCreateContext 구조체 : document와 관련된 뷰와 프레임 윈도우를 생성할 때 이용하는 구조체.

참고주소 : http://msdn.microsoft.com/ko-kr/library/cww7syc3(VS.80).aspx