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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? scribvw.cpp

?? 這是一個關(guān)于MFC比較經(jīng)典的源碼
?? 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;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91在线观看免费视频| 国产欧美日韩另类一区| 精品国产乱码久久久久久久| 18欧美乱大交hd1984| 精品一区二区在线免费观看| 色94色欧美sute亚洲线路一ni| 日韩视频一区在线观看| 一区二区久久久久| 成熟亚洲日本毛茸茸凸凹| 欧美一区二区三区电影| 一区二区视频在线看| 国产xxx精品视频大全| 精品久久久久久久久久久院品网 | 久久综合狠狠综合久久综合88 | 欧美在线你懂得| 欧美国产乱子伦| 狠狠色伊人亚洲综合成人| 欧美精选一区二区| 亚洲国产日韩一区二区| 在线观看亚洲成人| 亚洲男女毛片无遮挡| 99精品国产一区二区三区不卡| 精品国产乱码久久久久久牛牛 | 精品国产成人系列| 另类小说图片综合网| 6080午夜不卡| 午夜精品久久久久久| 在线播放欧美女士性生活| 亚洲精品国产a| 欧美亚洲一区二区在线| 亚洲制服丝袜在线| 欧美性猛片xxxx免费看久爱| 亚洲一区二区视频在线观看| 色偷偷久久人人79超碰人人澡| 国产精品久久久久久久久免费丝袜 | 国产suv精品一区二区6| 久久久噜噜噜久久中文字幕色伊伊| 奇米色一区二区三区四区| 欧美日韩激情一区二区| 水野朝阳av一区二区三区| 制服.丝袜.亚洲.中文.综合| 免费人成黄页网站在线一区二区| 在线电影国产精品| 精东粉嫩av免费一区二区三区| 精品少妇一区二区三区日产乱码| 欧美a级一区二区| 欧美成人在线直播| 国产激情一区二区三区四区| 国产欧美日韩一区二区三区在线观看 | 亚洲www啪成人一区二区麻豆| 欧美日本高清视频在线观看| 另类小说综合欧美亚洲| 国产午夜精品福利| 色婷婷一区二区| 日韩电影免费在线观看网站| 久久先锋资源网| 色呦呦日韩精品| 日韩高清中文字幕一区| 久久久国际精品| 91国产成人在线| 精品一区二区三区在线播放| 中文字幕一区三区| 欧美狂野另类xxxxoooo| 91在线视频免费91| 欧美国产亚洲另类动漫| 亚洲一级二级三级| 久久99久久精品| 国产精品三级在线观看| 色婷婷激情综合| 麻豆国产一区二区| 亚洲丝袜自拍清纯另类| 欧美一区二区三区视频在线| 成人蜜臀av电影| 蜜桃一区二区三区在线观看| 国产精品女主播在线观看| 欧美精品久久天天躁| 国产成人精品aa毛片| 视频在线在亚洲| 亚洲欧洲美洲综合色网| 日韩欧美三级在线| 91麻豆国产自产在线观看| 狂野欧美性猛交blacked| 一区二区三区中文字幕| 国产亚洲精品福利| 91精品国产91久久综合桃花| 色综合天天综合网国产成人综合天 | 欧美三片在线视频观看| 国产成人免费视频精品含羞草妖精 | 激情综合色播激情啊| 亚洲综合一区二区| 中文字幕日韩一区| 国产亚洲精品福利| 日韩三级电影网址| 欧美日本国产一区| 一本一本久久a久久精品综合麻豆| 激情综合色播激情啊| 亚洲一卡二卡三卡四卡五卡| 国产精品久久久久久户外露出 | 亚洲丝袜精品丝袜在线| 精品日产卡一卡二卡麻豆| 欧美日韩国产大片| 欧美亚洲国产bt| 色综合色综合色综合| 99视频一区二区| 成人国产精品免费观看| 国产成人精品亚洲午夜麻豆| 久88久久88久久久| 麻豆成人在线观看| 久国产精品韩国三级视频| 久久91精品久久久久久秒播| 捆绑调教一区二区三区| 久久精品国产精品青草| 麻豆精品精品国产自在97香蕉| 首页综合国产亚洲丝袜| 日韩av中文字幕一区二区三区| 亚洲va韩国va欧美va精品| 亚洲午夜一二三区视频| 亚洲成人先锋电影| 午夜精品在线视频一区| 舔着乳尖日韩一区| 人人狠狠综合久久亚洲| 精品一区二区免费视频| 风流少妇一区二区| 不卡电影一区二区三区| 91黄色激情网站| 欧美妇女性影城| 欧美tickling挠脚心丨vk| 久久网站热最新地址| 国产精品三级久久久久三级| 亚洲精品国产成人久久av盗摄| 亚洲线精品一区二区三区八戒| 天天操天天色综合| 黑人巨大精品欧美黑白配亚洲| 国产成人啪午夜精品网站男同| 大陆成人av片| 欧美熟乱第一页| 精品国产一区二区三区av性色| 国产亚洲欧美色| 亚洲一区二区三区四区在线| 麻豆一区二区三区| 福利一区在线观看| 欧美日韩一级视频| 久久久不卡影院| 亚洲啪啪综合av一区二区三区| 亚洲超碰精品一区二区| 国产精选一区二区三区| 91激情在线视频| 精品国产乱码久久久久久夜甘婷婷 | 国产无人区一区二区三区| 综合av第一页| 美腿丝袜在线亚洲一区| 99久久综合狠狠综合久久| 精品视频999| 国产人成亚洲第一网站在线播放| 亚洲精品国产a久久久久久| 久久狠狠亚洲综合| 日本韩国视频一区二区| 精品少妇一区二区三区在线播放 | 国产色产综合色产在线视频 | 欧洲另类一二三四区| 日韩欧美一区在线观看| 1024国产精品| 麻豆精品久久精品色综合| 色综合久久88色综合天天| 精品成人佐山爱一区二区| 亚洲第一综合色| www.一区二区| 久久久久久久免费视频了| 午夜激情综合网| 91麻豆精品视频| 国产亲近乱来精品视频| 免费在线观看精品| 欧美亚洲精品一区| 综合色天天鬼久久鬼色| 国产麻豆日韩欧美久久| 制服丝袜中文字幕一区| 亚洲综合色噜噜狠狠| 风间由美中文字幕在线看视频国产欧美 | 色菇凉天天综合网| 国产欧美日韩综合精品一区二区 | 欧美电视剧在线看免费| 亚洲国产精品精华液网站| 成人免费视频一区二区| 久久精品网站免费观看| 久久精品国产99| 欧美大片顶级少妇| 免费高清视频精品| 欧美丰满美乳xxx高潮www| 亚洲人成在线播放网站岛国 | 欧美欧美午夜aⅴ在线观看| 亚洲免费观看在线视频| www.成人网.com| 国产精品久久久久一区| 成人高清免费在线播放| 亚洲国产精品99久久久久久久久 | 日本美女视频一区二区| 欧美日韩一区二区在线观看 | 亚洲一级二级在线| 欧美日韩小视频| 五月天激情综合网|