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

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

?? graphicview.cpp

?? 近期購買了“VC++深入詳解”一書
?? CPP
字號:
// GraphicView.cpp : implementation of the CGraphicView class
//

#include "stdafx.h"
#include "Graphic.h"
#include "Graph.h"

#include "GraphicDoc.h"
#include "GraphicView.h"

#include "SettingDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CGraphicView

IMPLEMENT_DYNCREATE(CGraphicView, CScrollView)

BEGIN_MESSAGE_MAP(CGraphicView, CScrollView)
	//{{AFX_MSG_MAP(CGraphicView)
	ON_COMMAND(IDM_DOT, OnDot)
	ON_COMMAND(IDM_LINE, OnLine)
	ON_COMMAND(IDM_RECTANGLE, OnRectangle)
	ON_COMMAND(IDM_ELLIPSE, OnEllipse)
	ON_WM_LBUTTONDOWN()
	ON_WM_LBUTTONUP()
	ON_COMMAND(IDM_SETTING, OnSetting)
	ON_COMMAND(IDM_COLOR, OnColor)
	ON_COMMAND(IDM_FONT, OnFont)
	ON_WM_ERASEBKGND()
	//}}AFX_MSG_MAP
	// Standard printing commands
	ON_COMMAND(ID_FILE_PRINT, CScrollView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_DIRECT, CScrollView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_PREVIEW, CScrollView::OnFilePrintPreview)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CGraphicView construction/destruction

CGraphicView::CGraphicView()
{
	// TODO: add construction code here
	m_nDrawType = 0;
	m_ptOrigin = 0;
	m_nLineWidth = 0;
	m_nLineStyle = 0;
	m_clr=RGB(255,0,0);
	m_strFontName="";
}

CGraphicView::~CGraphicView()
{
}

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

	return CScrollView::PreCreateWindow(cs);
}

/////////////////////////////////////////////////////////////////////////////
// CGraphicView drawing

void CGraphicView::OnDraw(CDC* pDC)
{
	CGraphicDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	// TODO: add draw code for native data here
	CFont *pOldFont=pDC->SelectObject(&m_font);
	pDC->TextOut(0,0,m_strFontName);
	pDC->SelectObject(pOldFont);

	/*重繪圖像*/
	for(int i=0;i<m_ptrArray.GetSize();i++)
	{
		switch(((CGraph*)m_ptrArray.GetAt(i))->m_nDrawType)
		{
		case 1:
			pDC->SetPixel(((CGraph*)m_ptrArray.GetAt(i))->m_ptEnd,RGB(0,0,0));
			break;
		case 2:
			pDC->MoveTo(((CGraph*)m_ptrArray.GetAt(i))->m_ptOrigin);
			pDC->LineTo(((CGraph*)m_ptrArray.GetAt(i))->m_ptEnd);
			break;
		case 3:
			pDC->Rectangle(CRect(((CGraph*)m_ptrArray.GetAt(i))->m_ptOrigin,
			((CGraph*)m_ptrArray.GetAt(i))->m_ptEnd));
			break;
		case 4:
			pDC->Ellipse(CRect(((CGraph*)m_ptrArray.GetAt(i))->m_ptOrigin,
			((CGraph*)m_ptrArray.GetAt(i))->m_ptEnd));
		}
	}
}

/////////////////////////////////////////////////////////////////////////////
// CGraphicView printing

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

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

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

/////////////////////////////////////////////////////////////////////////////
// CGraphicView diagnostics

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

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

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

/////////////////////////////////////////////////////////////////////////////
// CGraphicView message handlers

void CGraphicView::OnDot() 
{
	// TODO: Add your command handler code here
	m_nDrawType = 1;
}

void CGraphicView::OnLine() 
{
	// TODO: Add your command handler code here
	m_nDrawType = 2;
}

void CGraphicView::OnRectangle() 
{
	// TODO: Add your command handler code here
	m_nDrawType = 3;
}

void CGraphicView::OnEllipse() 
{
	// TODO: Add your command handler code here
	m_nDrawType = 4;
}

void CGraphicView::OnLButtonDown(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
	m_ptOrigin = point;
	CScrollView::OnLButtonDown(nFlags, point);
}

void CGraphicView::OnLButtonUp(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
	CClientDC dc(this);
	CPen pen(m_nLineStyle,m_nLineWidth,m_clr);
	dc.SelectObject(&pen);
	CBrush *pBrush=CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH));
	dc.SelectObject(pBrush);
	switch(m_nDrawType)
	{
	case 1:
		dc.SetPixel(point,m_clr);
		break;
	case 2:
		dc.MoveTo(m_ptOrigin);
		dc.LineTo(point);
		break;
	case 3:
		dc.Rectangle(CRect(m_ptOrigin,point));
		break;
	case 4:
		dc.Ellipse(CRect(m_ptOrigin,point));
		break;
	}	
	CGraph *pGraph=new CGraph(m_nDrawType,m_ptOrigin,point);
	m_ptrArray.Add(pGraph);

	CScrollView::OnLButtonUp(nFlags, point);
}

void CGraphicView::OnSetting() 
{
	CSettingDlg dlg;
	dlg.m_nLineWidth = m_nLineWidth;
	dlg.m_nLineStyle=m_nLineStyle;
	dlg.m_clr = m_clr;
	if(IDOK==dlg.DoModal())
	{
		m_nLineWidth = dlg.m_nLineWidth;
		m_nLineStyle = dlg.m_nLineStyle;
	}
}

void CGraphicView::OnColor() 
{
	CColorDialog dlg;
	dlg.m_cc.Flags |= CC_RGBINIT | CC_FULLOPEN;
	dlg.m_cc.rgbResult=m_clr;
	if(IDOK==dlg.DoModal())
	{
		m_clr=dlg.m_cc.rgbResult;
	}
	
}

void CGraphicView::OnFont() 
{
	CFontDialog dlg;
	if(IDOK==dlg.DoModal())
	{
		if(m_font.m_hObject)
			m_font.DeleteObject();
		m_font.CreateFontIndirect(dlg.m_cf.lpLogFont);
		m_strFontName=dlg.m_cf.lpLogFont->lfFaceName;
		Invalidate();
	}
}

BOOL CGraphicView::OnEraseBkgnd(CDC* pDC) 
{
	// TODO: Add your message handler code here and/or call default
/*	CBitmap bitmap;
	bitmap.LoadBitmap(IDB_BITMAP1);

	BITMAP bmp;
	bitmap.GetBitmap(&bmp);

	CDC dcCompatible;
	dcCompatible.CreateCompatibleDC(pDC);

	dcCompatible.SelectObject(&bitmap);

	CRect rect;
	GetClientRect(&rect);
	pDC->BitBlt(0,0,rect.Width(),rect.Height(),&dcCompatible,0,0,SRCCOPY);
//	pDC->StretchBlt(0,0,rect.Width(),rect.Height(),&dcCompatible,
//		0,0,bmp.bmWidth,bmp.bmHeight,SRCCOPY);
	return TRUE;	
*/	return CScrollView::OnEraseBkgnd(pDC);
}

void CGraphicView::OnInitialUpdate()
{
	SetScrollSizes(MM_TEXT,CSize(1200,1000));//

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产九色精品成人porny| 色综合天天综合网国产成人综合天| 色狠狠一区二区| 亚洲高清不卡在线| 欧美性xxxxxx少妇| 日本欧美大码aⅴ在线播放| 久久亚洲一区二区三区明星换脸| 精东粉嫩av免费一区二区三区| 精品国产免费一区二区三区香蕉| 激情伊人五月天久久综合| 国产欧美一区二区精品性色| 日本韩国一区二区| 久久精品国产精品亚洲精品| 久久网站最新地址| 在线亚洲欧美专区二区| 美女脱光内衣内裤视频久久网站| 久久久国际精品| 欧美老女人第四色| 成人高清视频在线| 亚洲第一搞黄网站| 久久免费美女视频| 91免费观看视频在线| 日韩av一区二区在线影视| 日韩久久一区二区| 久久亚洲精精品中文字幕早川悠里| 在线日韩国产精品| 国产成人h网站| 裸体健美xxxx欧美裸体表演| 亚洲精品第一国产综合野| www.在线成人| 亚洲成人综合视频| 亚洲高清在线精品| 丝袜美腿高跟呻吟高潮一区| 日韩一区二区三区在线视频| 天天色综合成人网| 久久综合久久鬼色中文字| 2024国产精品视频| 国产精品乱码一区二三区小蝌蚪| 在线不卡欧美精品一区二区三区| 亚洲猫色日本管| 欧美精品一区二区三区久久久| 日韩欧美美女一区二区三区| 欧美亚洲另类激情小说| 91黄色在线观看| 99久久伊人精品| 欧美性猛片aaaaaaa做受| 91丨九色丨蝌蚪富婆spa| 色婷婷亚洲综合| 欧美日韩一级黄| 精品免费视频一区二区| 中文字幕成人网| 亚洲欧美另类久久久精品| 亚洲成人av中文| 国产一区二区三区精品欧美日韩一区二区三区 | 51精品国自产在线| 久久久www成人免费毛片麻豆| 中文字幕中文字幕一区二区| 一区二区国产盗摄色噜噜| 蜜桃视频在线观看一区| 国产 欧美在线| 欧美一区二区福利视频| 国产精品美女一区二区在线观看| 亚洲日本va午夜在线电影| 精品一区二区三区av| 日本视频一区二区| 石原莉奈一区二区三区在线观看| 精品一区二区三区在线播放| 欧美伊人久久大香线蕉综合69| 国产欧美日韩中文久久| 麻豆精品久久精品色综合| 欧美在线看片a免费观看| 久久精品一区二区三区不卡| 亚洲欧洲日产国码二区| 国产在线乱码一区二区三区| 精品视频999| 亚洲一区二区三区在线看 | 丝袜美腿亚洲一区二区图片| 99精品桃花视频在线观看| 国产亚洲一二三区| 国产麻豆91精品| 国产精品无人区| 99精品欧美一区二区三区小说| 久久久久久日产精品| 国产乱码精品一区二区三区av| 日韩欧美一区二区在线视频| 奇米综合一区二区三区精品视频| 精品视频免费在线| 五月天久久比比资源色| 日韩欧美一区在线| 成人午夜精品在线| 一区二区三区免费看视频| 欧美综合在线视频| 久久99这里只有精品| 日本一区二区综合亚洲| 色呦呦网站一区| 日韩经典一区二区| 国产精品久久久久久久午夜片| 色哟哟日韩精品| 国产成人免费av在线| 亚洲精品国产成人久久av盗摄| 欧美绝品在线观看成人午夜影视| 久久国产综合精品| 18涩涩午夜精品.www| 精品国产一二三区| 色综合天天综合网天天狠天天| 日本欧美在线看| 亚洲国产欧美另类丝袜| 久久九九国产精品| 91精品国产欧美一区二区18| 91在线看国产| 成人午夜大片免费观看| 免费人成精品欧美精品| 一级精品视频在线观看宜春院| 欧美一二区视频| 欧美一区二区观看视频| 欧美日韩黄色一区二区| 色美美综合视频| 色香蕉久久蜜桃| 91丨九色丨国产丨porny| 国产成a人亚洲| 99久久er热在这里只有精品66| 毛片av一区二区| 久久国产成人午夜av影院| 天天色综合天天| 蜜桃一区二区三区在线观看| 日本免费在线视频不卡一不卡二| 亚洲高清免费在线| 另类中文字幕网| 国产成人精品一区二| 国产a视频精品免费观看| gogogo免费视频观看亚洲一| 91亚洲精华国产精华精华液| 欧美性videosxxxxx| 日韩欧美一二三四区| 中文成人av在线| 亚洲成av人片在线| 伊人色综合久久天天| 婷婷开心激情综合| 成人性生交大合| 欧美无乱码久久久免费午夜一区| 日韩一卡二卡三卡| 中文字幕一区二区日韩精品绯色| 一区二区激情小说| 国产美女视频91| 91麻豆自制传媒国产之光| 亚洲精品一区二区三区香蕉| 中文字幕亚洲欧美在线不卡| 日韩国产一区二| 91行情网站电视在线观看高清版| 精品国产露脸精彩对白 | 国产亚洲综合av| 午夜精品久久久久影视| 97久久精品人人做人人爽| 日韩精品一区二区三区视频| 亚洲精品视频免费看| 国产99久久久国产精品免费看| 欧美一级日韩免费不卡| 无码av中文一区二区三区桃花岛| 国产成人综合精品三级| 久久久久久**毛片大全| 国产一区福利在线| 久久一留热品黄| 国产成人免费视| 亚洲男人的天堂在线观看| 91在线观看免费视频| 亚洲人亚洲人成电影网站色| eeuss鲁一区二区三区| 欧美日韩不卡一区二区| 国产亚洲精品aa| 日韩av中文字幕一区二区三区| 日韩免费观看2025年上映的电影| 欧美顶级少妇做爰| 午夜精品一区二区三区三上悠亚| 在线欧美日韩国产| 亚洲第一福利视频在线| 精品视频1区2区| 看电视剧不卡顿的网站| 精品久久久久久无| 国产精品伊人色| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 亚洲一区二区三区三| 4438成人网| 91网站最新网址| 日韩成人精品在线| wwwwxxxxx欧美| 色婷婷av一区二区| 香蕉乱码成人久久天堂爱免费| 日韩精品影音先锋| 99久久精品国产一区| 亚洲bt欧美bt精品777| 精品国产免费久久| 在线观看日产精品| 男女激情视频一区| 国产精品免费视频观看| 欧美一区二区三区在线观看 | 欧美挠脚心视频网站| 成人精品电影在线观看| 亚洲欧美日韩国产中文在线| 91精品婷婷国产综合久久竹菊| 色呦呦网站一区|