www.pudn.com > 0621CAchive.rar > 0621CAchiveView.cpp


// 0621CAchiveView.cpp : implementation of the CMy0621CAchiveView class 
// 
 
#include "stdafx.h" 
#include "0621CAchive.h" 
 
#include "Line.h" 
 
#include "0621CAchiveDoc.h" 
#include "0621CAchiveView.h" 
 
#ifdef _DEBUG 
#define new DEBUG_NEW 
#undef THIS_FILE 
static char THIS_FILE[] = __FILE__; 
#endif 
 
///////////////////////////////////////////////////////////////////////////// 
// CMy0621CAchiveView 
 
IMPLEMENT_DYNCREATE(CMy0621CAchiveView, CView) 
 
BEGIN_MESSAGE_MAP(CMy0621CAchiveView, CView) 
	//{{AFX_MSG_MAP(CMy0621CAchiveView) 
	ON_WM_LBUTTONDOWN() 
	ON_WM_LBUTTONUP() 
	ON_WM_MOUSEMOVE() 
	//}}AFX_MSG_MAP 
	// Standard printing commands 
	ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint) 
	ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint) 
	ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview) 
END_MESSAGE_MAP() 
 
///////////////////////////////////////////////////////////////////////////// 
// CMy0621CAchiveView construction/destruction 
 
CMy0621CAchiveView::CMy0621CAchiveView() 
{ 
	// TODO: add construction code here 
 
} 
 
CMy0621CAchiveView::~CMy0621CAchiveView() 
{ 
} 
 
BOOL CMy0621CAchiveView::PreCreateWindow(CREATESTRUCT& cs) 
{ 
	// TODO: Modify the Window class or styles here by modifying 
	//  the CREATESTRUCT cs 
 
	return CView::PreCreateWindow(cs); 
} 
 
///////////////////////////////////////////////////////////////////////////// 
// CMy0621CAchiveView drawing 
 
void CMy0621CAchiveView::OnDraw(CDC* pDC) 
{ 
	CMy0621CAchiveDoc* pDoc = GetDocument(); 
	ASSERT_VALID(pDoc); 
	// TODO: add draw code for native data here 
 
	int liCount=pDoc->GetLineCount(); 
	if(liCount) 
	{ 
		int liPos; 
		CLine* lpLine; 
		for(liPos=0;liPosGetLine(liPos); 
			lpLine->Draw(pDC); 
		} 
	} 
 
} 
 
///////////////////////////////////////////////////////////////////////////// 
// CMy0621CAchiveView printing 
 
BOOL CMy0621CAchiveView::OnPreparePrinting(CPrintInfo* pInfo) 
{ 
	// default preparation 
	return DoPreparePrinting(pInfo); 
} 
 
void CMy0621CAchiveView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/) 
{ 
	// TODO: add extra initialization before printing 
} 
 
void CMy0621CAchiveView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/) 
{ 
	// TODO: add cleanup after printing 
} 
 
///////////////////////////////////////////////////////////////////////////// 
// CMy0621CAchiveView diagnostics 
 
#ifdef _DEBUG 
void CMy0621CAchiveView::AssertValid() const 
{ 
	CView::AssertValid(); 
} 
 
void CMy0621CAchiveView::Dump(CDumpContext& dc) const 
{ 
	CView::Dump(dc); 
} 
 
CMy0621CAchiveDoc* CMy0621CAchiveView::GetDocument() // non-debug version is inline 
{ 
	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CMy0621CAchiveDoc))); 
	return (CMy0621CAchiveDoc*)m_pDocument; 
} 
#endif //_DEBUG 
 
///////////////////////////////////////////////////////////////////////////// 
// CMy0621CAchiveView message handlers 
 
void CMy0621CAchiveView::OnLButtonDown(UINT nFlags, CPoint point)  
{ 
	// TODO: Add your message handler code here and/or call default 
	m_OldPoint=point; 
	m_Darw=TRUE; 
	CView::OnLButtonDown(nFlags, point); 
} 
 
void CMy0621CAchiveView::OnLButtonUp(UINT nFlags, CPoint point)  
{ 
	// TODO: Add your message handler code here and/or call default 
	m_Darw=FALSE; 
	CView::OnLButtonUp(nFlags, point); 
} 
 
void CMy0621CAchiveView::OnMouseMove(UINT nFlags, CPoint point)  
{ 
	// TODO: Add your message handler code here and/or call default 
	CClientDC dc(this); 
	if(m_Darw==TRUE) 
	{ 
	CLine * pLine=GetDocument()->AddLine(m_OldPoint,point); 
	pLine->Draw(&dc); 
	m_OldPoint=point; 
	} 
 
	CView::OnMouseMove(nFlags, point); 
}