kyuseo의 게임 프로그래밍

스플리터 윈도우(분할창, CSplitterWnd)의 크기 조절하기 본문

C++ 개발

스플리터 윈도우(분할창, CSplitterWnd)의 크기 조절하기

kyuseo 2007. 10. 25. 13:50

개요..

 

스플리터 윈도우는(분할창, CSplitterWnd) 탐색기와 같은 프로그램 에서 유용하게 사용하는 기능입니다.

 

프로그램 실행시, 실행도중 각각의 윈도우의 크기를 조절하는 방법을 알아봅니다.

 

 

다운로드

 

 

코드

 

- MainFrame 에서는 다음과 같은 방법으로 조절합니다.

 

    m_wndSplitter.SetColumnInfo( 0, size, min_size );

    m_wndSplitter.RecalcLayout();

 

 

- View 에서는 다음과 같은 방법으로 조절합니다.

 

    GetParentSplitter( this, FALSE )->SetColumnInfo( 0, size, min_size );

    GetParentSplitter( this, FALSE )->RecalcLayout();

 

 

예제

 

1. 분할창 윈도우 프로젝트 생성

 

2. 핵심 코드를 추가한다.

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)

{

    …

    // 분할창의크기를조절한다.

    m_wndSplitter.SetColumnInfo( 0, 500, 10 );

    m_wndSplitter.RecalcLayout();

 

    AfxMessageBox( "좌우창을클릭하면분할창의크기가변경됩니다." );

 

    return 0;

}

 

void C_tttView::OnLButtonDown(UINT nFlags, CPoint point)

{

    // 분할창의크기를조절한다.

    GetParentSplitter( this, FALSE )->SetColumnInfo( 0, 300, 10 );

    GetParentSplitter( this, FALSE )->RecalcLayout();

 

    CListView::OnLButtonDown(nFlags, point);

}

 

void C_tttView::OnLButtonDown(UINT nFlags, CPoint point)

{

    // 분할창의크기를조절한다.

    GetParentSplitter( this, FALSE )->SetColumnInfo( 0, 300, 10 );

    GetParentSplitter( this, FALSE )->RecalcLayout();

 

    CListView::OnLButtonDown(nFlags, point);

}