亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? scribvw.cpp

?? 《深入淺出MFC》第二版PDF附源碼,詳細介紹mfc功能
?? CPP
字號:
// ScribVw.cpp : implementation of the CScribbleView class
//
// This is a part of the Microsoft Foundation Classes C++ library.
// Copyright (C) 1992-1995 Microsoft Corporation
// All rights reserved.
//
// This source code is only intended as a supplement to the
// Microsoft Foundation Classes Reference and related
// electronic documentation provided with the library.
// See these sources for detailed information regarding the
// Microsoft Foundation Classes product.

#include "stdafx.h"
#include "Scribble.h"

#include "ScribDoc.h"
#include "ScribVw.h"

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

/////////////////////////////////////////////////////////////////////////////
// CScribbleView

IMPLEMENT_DYNCREATE(CScribbleView, CView)

BEGIN_MESSAGE_MAP(CScribbleView, CView)
	//{{AFX_MSG_MAP(CScribbleView)
	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()

/////////////////////////////////////////////////////////////////////////////
// CScribbleView construction/destruction

CScribbleView::CScribbleView()
{
	// TODO: add construction code here

}

CScribbleView::~CScribbleView()
{
}

BOOL CScribbleView::PreCreateWindow(CREATESTRUCT& cs)
{
	// TODO: Modify the Window class or styles here by modifying
	//  the CREATESTRUCT cs

	return CView::PreCreateWindow(cs);
}

/////////////////////////////////////////////////////////////////////////////
// CScribbleView drawing

void CScribbleView::OnDraw(CDC* pDC)
{
	CScribbleDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);

	// The view delegates the drawing of individual strokes to
	// CStroke::DrawStroke().
	CTypedPtrList<CObList,CStroke*>& strokeList = pDoc->m_strokeList;
	POSITION pos = strokeList.GetHeadPosition();
	while (pos != NULL)
	{
		CStroke* pStroke = strokeList.GetNext(pos);
		pStroke->DrawStroke(pDC);
	}
}

/////////////////////////////////////////////////////////////////////////////
// CScribbleView printing

BOOL CScribbleView::OnPreparePrinting(CPrintInfo* pInfo)
{
	// default preparation
	return DoPreparePrinting(pInfo);
}

void CScribbleView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add extra initialization before printing
}

void CScribbleView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add cleanup after printing
}

/////////////////////////////////////////////////////////////////////////////
// CScribbleView diagnostics

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

void CScribbleView::Dump(CDumpContext& dc) const
{
	CView::Dump(dc);
}

CScribbleDoc* CScribbleView::GetDocument() // non-debug version is inline
{
	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CScribbleDoc)));
	return (CScribbleDoc*)m_pDocument;
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CScribbleView message handlers

void CScribbleView::OnLButtonDown(UINT, CPoint point) 
{
    // Pressing the mouse button in the view window starts a new stroke

	m_pStrokeCur = GetDocument()->NewStroke();
	// Add first point to the new stroke
	m_pStrokeCur->m_pointArray.Add(point);

	SetCapture();       // Capture the mouse until button up.
	m_ptPrev = point;   // Serves as the MoveTo() anchor point for the
						// LineTo() the next point, as the user drags the
						// mouse.

	return;
}

void CScribbleView::OnLButtonUp(UINT, CPoint point) 
{
	// Mouse button up is interesting in the Scribble application
	// only if the user is currently drawing a new stroke by dragging
	// the captured mouse.

	if (GetCapture() != this)
		return; // If this window (view) didn't capture the mouse,
				// then the user isn't drawing in this window.

	CScribbleDoc* pDoc = GetDocument();

	CClientDC dc(this);

	CPen* pOldPen = dc.SelectObject(pDoc->GetCurrentPen());
	dc.MoveTo(m_ptPrev);
	dc.LineTo(point);
	dc.SelectObject(pOldPen);
	m_pStrokeCur->m_pointArray.Add(point);

	ReleaseCapture();   // Release the mouse capture established at
						// the beginning of the mouse drag.
	return;
}

void CScribbleView::OnMouseMove(UINT, CPoint point) 
{
	// Mouse movement is interesting in the Scribble application
	// only if the user is currently drawing a new stroke by dragging
	// the captured mouse.

	if (GetCapture() != this)
		return; // If this window (view) didn't capture the mouse,
				// then the user isn't drawing in this window.

	CClientDC dc(this);
	m_pStrokeCur->m_pointArray.Add(point);

	// Draw a line from the previous detected point in the mouse
	// drag to the current point.
	CPen* pOldPen = dc.SelectObject(GetDocument()->GetCurrentPen());
	dc.MoveTo(m_ptPrev);
	dc.LineTo(point);
	dc.SelectObject(pOldPen);
	m_ptPrev = point;
	return;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
大胆亚洲人体视频| 国产午夜精品一区二区 | 99久久久精品| 91麻豆精品国产91久久久更新时间| 久久久综合九色合综国产精品| 亚洲一二三四在线| 成人看片黄a免费看在线| 日韩美女视频在线| 天堂一区二区在线| 色8久久精品久久久久久蜜| 国产三级久久久| 久久99国产精品麻豆| 欧美在线free| 综合欧美亚洲日本| 国产成人亚洲综合a∨猫咪| 欧美一区二区久久| 性做久久久久久免费观看| 99久久综合国产精品| 国产三级精品在线| 国产精品一区不卡| 精品国产乱码久久久久久牛牛| 日日摸夜夜添夜夜添国产精品| 在线欧美日韩国产| 亚洲精品亚洲人成人网| 99这里只有精品| 中文字幕不卡在线| 粉嫩蜜臀av国产精品网站| 久久久久9999亚洲精品| 国内精品久久久久影院一蜜桃| 欧美电影免费观看高清完整版在线观看| 亚洲国产精品一区二区尤物区| 91丨porny丨国产| 1024亚洲合集| 色欧美88888久久久久久影院| 亚洲天堂中文字幕| 在线观看区一区二| 亚洲国产欧美一区二区三区丁香婷| 在线视频中文字幕一区二区| 玉米视频成人免费看| 色视频一区二区| 亚洲一区免费视频| 欧美精品18+| 久久国产精品露脸对白| 精品成人一区二区三区四区| 国产一区二区毛片| 国产精品久久网站| 在线免费观看日本欧美| 亚洲国产精品尤物yw在线观看| 欧美精品自拍偷拍| 韩国视频一区二区| 国产精品免费视频一区| 色综合久久久久综合| 亚洲成人黄色影院| 欧美成人国产一区二区| 丰满白嫩尤物一区二区| 亚洲综合免费观看高清完整版| 欧美精品日韩精品| 国产乱码字幕精品高清av| 亚洲三级理论片| 91精品国产综合久久久蜜臀粉嫩| 国产一区二区不卡| 最新成人av在线| 91精品国模一区二区三区| 国产suv精品一区二区883| 一区二区免费看| 精品成人免费观看| 色婷婷综合五月| 极品销魂美女一区二区三区| 中文字幕亚洲综合久久菠萝蜜| 欧美日韩免费一区二区三区视频| 国精产品一区一区三区mba视频| 亚洲人成伊人成综合网小说| 欧美肥胖老妇做爰| 99久久久国产精品免费蜜臀| 日本视频一区二区| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆 | 精品卡一卡二卡三卡四在线| 成人精品国产一区二区4080| 蜜臀av性久久久久蜜臀aⅴ四虎 | 97超碰欧美中文字幕| 日韩电影一二三区| 中文字幕一区二区三区在线播放| 日韩欧美一级二级| 色综合久久88色综合天天6| 国产一区二区不卡老阿姨| 亚洲va欧美va人人爽| 中文字幕一区二区三| 欧美精品一区二区三区视频| 欧美日韩在线播放三区| 成人av免费网站| 国产一区二区成人久久免费影院| 性感美女极品91精品| 亚洲视频资源在线| 久久精品无码一区二区三区| 51精品国自产在线| 欧美视频一区二区三区四区| 成年人国产精品| 国产成a人亚洲精| 国产在线观看一区二区| 日韩主播视频在线| 亚洲二区视频在线| 亚洲美女视频在线| 日韩毛片精品高清免费| 欧美激情在线一区二区三区| 精品国产乱码久久久久久久| 欧美一区二区啪啪| 91 com成人网| 91精品免费观看| 91精品国产综合久久精品麻豆| 欧美美女一区二区在线观看| 欧美日免费三级在线| 欧美亚洲一区二区在线观看| 色老综合老女人久久久| 91麻豆免费视频| 91九色02白丝porn| 欧美日韩一区二区三区在线看| 欧美综合天天夜夜久久| 欧美综合久久久| 欧美视频三区在线播放| 欧美日韩精品欧美日韩精品一 | 亚洲国产精品久久人人爱蜜臀 | 精久久久久久久久久久| 久久成人久久爱| 国产一区二区久久| 国产**成人网毛片九色| 91在线观看污| 欧美日韩亚洲国产综合| 7777精品伊人久久久大香线蕉 | 欧美喷潮久久久xxxxx| 在线91免费看| 久久精品在线免费观看| 国产精品嫩草影院com| 亚洲一区二区三区四区在线观看 | 成人高清视频免费观看| av亚洲产国偷v产偷v自拍| 色综合欧美在线视频区| 欧美色视频在线观看| 制服视频三区第一页精品| 欧美精品一区二| 综合婷婷亚洲小说| 亚洲综合另类小说| 韩国欧美国产1区| eeuss鲁片一区二区三区在线看| 91黄色免费版| 精品成人佐山爱一区二区| 中文字幕免费一区| 午夜精品福利一区二区三区av | 日本强好片久久久久久aaa| 国产精品一区二区久久不卡| 91麻豆精品国产91久久久资源速度 | 国产一区二区在线观看视频| 成人精品电影在线观看| 制服丝袜日韩国产| 国产亚洲精品资源在线26u| 亚洲乱码中文字幕综合| 久久99精品一区二区三区| 97se亚洲国产综合自在线| 欧美成人综合网站| 一区二区在线观看不卡| 激情欧美一区二区| 欧美性生活一区| 国产欧美日韩精品一区| 午夜精品久久久久久不卡8050| 成人高清免费在线播放| 91精品国产品国语在线不卡| 中文字幕色av一区二区三区| 蜜臂av日日欢夜夜爽一区| 色哟哟亚洲精品| 国产丝袜美腿一区二区三区| 手机精品视频在线观看| 91视频www| 国产欧美一区二区精品久导航 | 一区二区日韩av| 岛国精品在线播放| 欧美一区二区三区免费大片| 亚洲欧美日韩国产中文在线| 国产激情一区二区三区| 日韩视频一区在线观看| 亚洲观看高清完整版在线观看| 丁香天五香天堂综合| 精品国产髙清在线看国产毛片| 亚洲不卡av一区二区三区| 91无套直看片红桃| 国产精品女人毛片| 国产91精品欧美| 久久久精品一品道一区| 成人一区在线观看| 久久久国产午夜精品| 久久国产欧美日韩精品| 日韩欧美中文字幕精品| 日本人妖一区二区| 欧美电影一区二区三区| 午夜精品福利一区二区三区av| 欧美色图天堂网| 亚洲成av人片在线观看| 宅男噜噜噜66一区二区66| 免费一级片91| 日韩精品一区在线| 精品一区二区免费在线观看| 精品欧美一区二区三区精品久久|