www.gusucode.com > VC++多视图形式的窗体例子源码程序 > VC++多视图形式的窗体例子源码程序\code\SplitterView.cpp

    //Download by http://www.NewXing.com
// SplitterView.cpp : implementation file
// 

#include "stdafx.h"
#include "LotvChange.h"
#include "SplitterView.h"

#include "ListCtrlView.h"
#include "AddfView.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CSplitterView

IMPLEMENT_DYNCREATE(CSplitterView, CView)

CSplitterView::CSplitterView()
{
}

CSplitterView::~CSplitterView()
{
}


BEGIN_MESSAGE_MAP(CSplitterView, CView)
	//{{AFX_MSG_MAP(CSplitterView)
	ON_WM_CREATE()
	ON_WM_SIZE()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSplitterView drawing

void CSplitterView::OnDraw(CDC* pDC)
{
	CDocument* pDoc = GetDocument();
	// TODO: add draw code here
}

/////////////////////////////////////////////////////////////////////////////
// CSplitterView diagnostics

#ifdef _DEBUG
void CSplitterView::AssertValid() const
{
	CView::AssertValid();
}

void CSplitterView::Dump(CDumpContext& dc) const
{
	CView::Dump(dc);
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CSplitterView message handlers

int CSplitterView::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
	if (CView::OnCreate(lpCreateStruct) == -1)
		return -1;
	
	// TODO: Add your specialized creation code here
	m_wndSplitter.CreateStatic(this, 2, 1);

	CCreateContext *pContext = (CCreateContext*) lpCreateStruct->lpCreateParams;

	m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(CListCtrlView), CSize(150,0), pContext);
	m_wndSplitter.CreateView(1,0,RUNTIME_CLASS(AddfView), CSize(0,0), pContext);
	
	return 0;
}

void CSplitterView::OnSize(UINT nType, int cx, int cy) 
{
	CView::OnSize(nType, cx, cy);
	
	// TODO: Add your message handler code here
	m_wndSplitter.MoveWindow(-2,-2,cx+4,cy+4);
	m_wndSplitter.SetRowInfo(0, cy-(cy/4), 0);
	m_wndSplitter.SetRowInfo(1, cy/4, 20);
	m_wndSplitter.RecalcLayout();
}