kyuseo의 게임 프로그래밍
스플리터 윈도우(분할창, CSplitterWnd)의 크기 조절하기 본문
개요.. |
스플리터 윈도우는(분할창, 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); } |