// 12ScrollViewView.cpp : CMy12ScrollViewView 類別的實作
//

#include "stdafx.h"
#include "12ScrollView.h"

#include "12ScrollViewDoc.h"
#include "12ScrollViewView.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#endif


// CMy12ScrollViewView

IMPLEMENT_DYNCREATE(CMy12ScrollViewView, CScrollView)

BEGIN_MESSAGE_MAP(CMy12ScrollViewView, CScrollView)
	// 標準列印命令
	ON_COMMAND(ID_FILE_PRINT, CScrollView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_DIRECT, CScrollView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_PREVIEW, CScrollView::OnFilePrintPreview)
	ON_WM_SIZE()
END_MESSAGE_MAP()

// CMy12ScrollViewView 建構/解構

CMy12ScrollViewView::CMy12ScrollViewView()
{
	// TODO: 在此處加入建構程式碼

}

CMy12ScrollViewView::~CMy12ScrollViewView()
{
}

BOOL CMy12ScrollViewView::PreCreateWindow(CREATESTRUCT& cs)
{
	// TODO: 經由修改 CREATESTRUCT cs 達到修改視窗類別或樣式的目的

	return CScrollView::PreCreateWindow(cs);
}

// CMy12ScrollViewView 描繪

void CMy12ScrollViewView::OnDraw(CDC* pDC)
{
	CMy12ScrollViewDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);

	// TODO: 在此加入原生資料的繪製程式碼
	pDC->Rectangle(500, 400, 700, 900);
}

void CMy12ScrollViewView::OnInitialUpdate()
{
	CScrollView::OnInitialUpdate();
	CSize sizeTotal;
	// TODO: 計算此檢視的總大小
	sizeTotal.cx = sizeTotal.cy = 1000;
	SetScrollSizes(MM_TEXT, sizeTotal);
}


// CMy12ScrollViewView 列印

BOOL CMy12ScrollViewView::OnPreparePrinting(CPrintInfo* pInfo)
{
	// 預設的準備
	return DoPreparePrinting(pInfo);
}

void CMy12ScrollViewView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: 列印前加入額外的初始設定
}

void CMy12ScrollViewView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: 列印後加入清除
}


// CMy12ScrollViewView 診斷

#ifdef _DEBUG
void CMy12ScrollViewView::AssertValid() const
{
	CScrollView::AssertValid();
}

void CMy12ScrollViewView::Dump(CDumpContext& dc) const
{
	CScrollView::Dump(dc);
}

CMy12ScrollViewDoc* CMy12ScrollViewView::GetDocument() const // 非偵錯版本是內嵌
{
	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CMy12ScrollViewDoc)));
	return (CMy12ScrollViewDoc*)m_pDocument;
}
#endif //_DEBUG


// CMy12ScrollViewView 訊息處理常式

void CMy12ScrollViewView::OnUpdate(CView* /*pSender*/, LPARAM /*lHint*/, CObject* /*pHint*/)
{
	// TODO: 在此加入特定的程式碼和 (或) 呼叫基底類別
    CMy12ScrollViewDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);

	CSize sizeTotal;

	pDoc->GetDocumentSize(sizeTotal);

	SetScrollSizes(MM_TEXT, sizeTotal);
}

void CMy12ScrollViewView::OnSize(UINT nType, int cx, int cy)
{
	CScrollView::OnSize(nType, cx, cy);

    CMy12ScrollViewDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);

	CSize sizeTotal;

	pDoc->GetDocumentSize(sizeTotal);

	CSize sizePage;
	sizePage.cx = cx;
	sizePage.cy = cy;

	SetScrollSizes(MM_TEXT, sizeTotal, sizePage);
}
