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

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

?? scribvw.cpp

?? vc6.0實現畫線第三步(深入淺出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一区二区三区免费野_久草精品视频
亚洲视频免费看| 亚洲黄色尤物视频| 91精品在线观看入口| 欧美在线免费观看亚洲| 在线观看一区二区视频| 日本电影欧美片| 欧美日韩免费电影| 3atv一区二区三区| 欧美成人a视频| 久久嫩草精品久久久久| 中文字幕第一区| 亚洲欧美另类小说| 午夜国产精品一区| 久久99久久99小草精品免视看| 久久av资源站| 国产东北露脸精品视频| 91美女在线看| 欧美日韩二区三区| 精品欧美一区二区三区精品久久| 欧美成人猛片aaaaaaa| 国产日韩欧美制服另类| 中文字幕一区二区三区在线观看| 亚洲最新在线观看| 日本女人一区二区三区| 国产成人午夜精品5599| 欧美视频三区在线播放| 2020国产精品自拍| 亚洲精品自拍动漫在线| 美女一区二区三区| 成人高清视频在线观看| 9191成人精品久久| 中文字幕第一区二区| 亚洲图片有声小说| 国产精品亚洲人在线观看| 色呦呦一区二区三区| 欧美成人video| 亚洲女与黑人做爰| 婷婷开心激情综合| 亚洲444eee在线观看| 国产又粗又猛又爽又黄91精品| 不卡的av电影| 精品美女在线观看| 亚洲国产综合人成综合网站| 国产东北露脸精品视频| 欧美一区二区网站| 亚洲三级久久久| 国产成人免费网站| 91精品久久久久久久99蜜桃| 亚洲欧美国产高清| 国产91露脸合集magnet| 日韩一区二区视频在线观看| 亚洲欧美在线视频观看| 激情久久久久久久久久久久久久久久| 91色porny蝌蚪| 国产精品久久久久久久岛一牛影视| 日韩二区在线观看| 欧美影院一区二区| 亚洲欧美自拍偷拍| eeuss鲁片一区二区三区在线看| 日韩女优制服丝袜电影| 午夜视频在线观看一区二区 | 91久久精品日日躁夜夜躁欧美| 欧美一卡二卡在线| 亚洲小说欧美激情另类| 色天使久久综合网天天| 亚洲欧美国产77777| 99久精品国产| 亚洲视频一区在线观看| 99久久久精品| 亚洲人一二三区| 91国偷自产一区二区开放时间| 中文字幕一区二区三区四区不卡| 国产激情一区二区三区桃花岛亚洲| 制服丝袜中文字幕亚洲| 亚洲h动漫在线| 欧美日韩国产免费一区二区 | 欧美日韩大陆一区二区| 一区二区三区在线视频观看| 日本电影亚洲天堂一区| 一区二区三区日韩在线观看| 91久久精品一区二区三| 亚洲一级在线观看| 欧美另类一区二区三区| 美女视频黄频大全不卡视频在线播放 | 久久精品国产免费| wwwwww.欧美系列| 成人动漫中文字幕| 一区二区三区国产精华| 欧美精品一卡二卡| 九九久久精品视频| 国产精品麻豆久久久| 99精品视频在线播放观看| 亚洲图片欧美一区| 精品国产一区二区三区久久影院 | 777午夜精品免费视频| 麻豆久久一区二区| 国产精品国产三级国产aⅴ无密码| 99久久99久久精品国产片果冻| 亚洲图片欧美视频| 精品国产乱码久久| 成人午夜视频网站| 亚洲h动漫在线| 国产日韩成人精品| 色94色欧美sute亚洲13| 另类小说图片综合网| 国产精品福利在线播放| 欧美日韩精品综合在线| 国产麻豆成人传媒免费观看| 一区二区三区免费网站| 日韩区在线观看| 91亚洲精品久久久蜜桃| 美女免费视频一区二区| 国产精品免费看片| 日韩三级在线观看| 色综合一个色综合亚洲| 麻豆精品一二三| 亚洲一区在线观看免费观看电影高清| 精品国产91乱码一区二区三区 | 久久久蜜桃精品| 欧美精品在线观看一区二区| 粉嫩一区二区三区性色av| 日本成人中文字幕| 亚洲精品大片www| 中文字幕av资源一区| 精品免费国产一区二区三区四区| 欧美亚日韩国产aⅴ精品中极品| 久久99九九99精品| 首页国产欧美久久| 亚洲综合偷拍欧美一区色| 欧美激情在线一区二区| 欧美xxxxx牲另类人与| 欧洲激情一区二区| va亚洲va日韩不卡在线观看| 精品在线免费视频| 美女视频免费一区| 香蕉久久一区二区不卡无毒影院| 亚洲视频免费观看| 国产精品欧美一区喷水| 久久精品亚洲一区二区三区浴池| 日韩一区二区免费电影| 欧美日韩国产小视频在线观看| 97se狠狠狠综合亚洲狠狠| 成人动漫在线一区| 成人精品免费看| 成人av网站在线观看免费| 国产成人精品三级| 国产成人精品三级| 国产成人在线观看免费网站| 国产69精品久久777的优势| 激情六月婷婷久久| 国产高清不卡一区二区| 丁香六月久久综合狠狠色| 成人动漫一区二区在线| www.成人网.com| 色噜噜狠狠色综合欧洲selulu| 91碰在线视频| 欧美色倩网站大全免费| 91麻豆精品国产91久久久资源速度| 538在线一区二区精品国产| 91精品蜜臀在线一区尤物| 欧美一区二区三区不卡| 日韩欧美aaaaaa| 久久久久久黄色| 中文字幕一区二区三区视频| 1000精品久久久久久久久| 一区二区三区**美女毛片| 日本欧美在线观看| 国产精品白丝av| 一本久久综合亚洲鲁鲁五月天 | 国产色产综合色产在线视频 | 亚洲一区在线观看视频| 天天av天天翘天天综合网| 日本美女一区二区| 成人中文字幕合集| 欧美在线一区二区| 精品久久国产字幕高潮| 国产婷婷色一区二区三区四区| 最新国产成人在线观看| 天堂影院一区二区| 国产成人午夜高潮毛片| 色综合天天做天天爱| 欧美日本一道本| 国产性色一区二区| 肉色丝袜一区二区| 国产精品一区二区果冻传媒| 在线观看国产91| 日韩欧美精品三级| 亚洲色图色小说| 国产在线精品视频| 欧美日韩一本到| 中日韩免费视频中文字幕| 亚洲国产va精品久久久不卡综合 | 午夜私人影院久久久久| 国产成人三级在线观看| 欧美日韩在线三级| 中文字幕精品一区二区三区精品| 日欧美一区二区| 91蜜桃在线免费视频| 久久九九久精品国产免费直播| 日韩国产欧美视频|