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);
}