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

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

?? rj050119view.cpp

?? 采用MFC實現(xiàn)了繪圖并且實現(xiàn)了菜單和鼠標事件
?? CPP
字號:
// RJ050119View.cpp : implementation of the CRJ050119View class
//

#include "stdafx.h"
#include "RJ050119.h"
//#include "CColrDialog.h"
#include "RJ050119Doc.h"
#include "RJ050119View.h"
#include "RadiusDialog.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CRJ050119View

IMPLEMENT_DYNCREATE(CRJ050119View, CView)

BEGIN_MESSAGE_MAP(CRJ050119View, CView)
	//{{AFX_MSG_MAP(CRJ050119View)
	ON_WM_CONTEXTMENU()
	ON_WM_LBUTTONDOWN()
	ON_WM_MOUSEMOVE()
	ON_WM_LBUTTONUP()
	ON_COMMAND(ID_EDIT_INPUTRADIUS, OnEditInputradius)
	ON_COMMAND(ID_VIEW_FONT, OnViewFont)
	ON_WM_TIMER()
	//}}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()

/////////////////////////////////////////////////////////////////////////////
// CRJ050119View construction/destruction

CRJ050119View::CRJ050119View()
{
	// TODO: add construction code here
    m_bDragging=false;
	m_hCross=AfxGetApp()->LoadStandardCursor(IDC_CROSS);
	m_nCViewRadius=0;
}

CRJ050119View::~CRJ050119View()
{
}

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

	return CView::PreCreateWindow(cs);
}

/////////////////////////////////////////////////////////////////////////////
// CRJ050119View drawing

void CRJ050119View::OnDraw(CDC* pDC)
{
	CRJ050119Doc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	// TODO: add draw code for native data here
	pDC->TextOut(100,400,"這是一個單文檔程序!");//在坐標(100,400)處顯示文本
	int yLeft[5]={0,70,140,210,280};
	int yRight[5]={70,140,210,280,350};
	for(int m=1;m<=5;m++)                    //繪制4個縱向整齊排列的橢圓
		pDC->Ellipse(300,yLeft[m],400,yRight[m]);
	for(int i=0;i<pDoc->m_nCoins;i++)      //繪制硬幣
	{
		int y=200-10*i;
		pDC->Ellipse(200,y,300,y-40);         //用兩個偏移的橢圓來表示一枚硬幣
		pDC->Ellipse(200,y-10,300,y-45);
	}
	CString strCoins;                      //先獲得主窗口,再獲得狀態(tài)欄的指針
	CStatusBar*pStatus=(CStatusBar*)AfxGetApp()->m_pMainWnd->GetDescendantWindow(ID_VIEW_STATUS_BAR);
	if(pStatus)
	{
		strCoins.Format("硬幣: %d",pDoc->m_nCoins);//設置要顯示的信息
		pStatus->SetPaneText(1,strCoins);//顯示硬幣數(shù)量,面板編號從0開始
	}
    //pDoc->SetModifiedFlag();
	pDC->Ellipse(300,300,2*m_nCViewRadius+100,2*m_nCViewRadius+300);//繪制圓
	///////////////////////////////////////////////////////
	CPen * pPenOld,PenNew;
	int nPenStyle[]={                   //不同樣式的畫筆
		             PS_SOLID,                  
		             PS_DOT,
					 PS_DASH,
					 PS_DASHDOT,
					 PS_DASHDOTDOT,
					 PS_NULL,
					 PS_INSIDEFRAME,
	};
	char * strStyle[]={"Solid","Dot","Dash","DashDot","DashDotDot","Null","InsidenFrame"};
	pDC->TextOut(60,10,"用不同樣式的畫筆繪圖");
	for(int j=0;j<7;j++)                  //用不同格式的畫筆繪圖
	{                                       
		if(PenNew.CreatePen(nPenStyle[j],1,RGB(0,0,0)))
		{
			pPenOld=pDC->SelectObject(&PenNew);      //選擇創(chuàng)建的畫筆
			pDC->TextOut(10,30+20*j,strStyle[j]);
			pDC->MoveTo(100,40+20*j);
			pDC->LineTo(200,40+20*j);
			pDC->SelectObject(pPenOld);              //恢復設備環(huán)境中原來的畫筆
			PenNew.DeleteObject();                  //刪除底層的GDI對象
		}
		else
		{
			MessageBox("不能創(chuàng)建畫筆!");
		}
	}
	char * strWidth[]={"1","2","3","4","5","6","7"};
	pDC->TextOut(260,10,"用不同寬度的畫筆繪圖");
	for( j=0;j<7;j++)                            //用不同寬度的畫筆繪圖
	{
		if(PenNew.CreatePen(PS_SOLID,j+1,RGB(0,0,0)))//創(chuàng)建新的畫筆
		{
			pPenOld=pDC->SelectObject(&PenNew);   //選擇創(chuàng)建的畫筆
			pDC->TextOut(260,30+20*j,strWidth[j]);
			pDC->MoveTo(300,40+20*j);
			pDC->LineTo(400,40+20*j);
			pDC->SelectObject(pPenOld);           //恢復設備環(huán)境中原來的畫筆
			PenNew.DeleteObject();                //刪除底層的GDI對象
		}
		else
		{
			MessageBox("不能創(chuàng)建畫筆!");
		}
	}
    char * strColor[]={"紅","綠","藍","黃","紫","青","灰"};
	COLORREF rgbPenClr[]={RGB(255,0,0),RGB(0,255,0),RGB(0,0,255),RGB(255,255,0),RGB(255,0,255),RGB(0,255,255),RGB(192,192,192)};
	pDC->TextOut(460,10,"用不同顏色的畫筆繪圖");
	for(j=0;j<7;j++)                             //用不同顏色的畫筆繪圖
	{        
		CPen * pPenNew=new CPen(PS_SOLID,2,rgbPenClr[j]);//創(chuàng)建畫筆的另一種方法
		pPenOld=pDC->SelectObject(pPenNew);          //選擇創(chuàng)建的畫筆
		pDC->TextOut(460,30+20*j,strColor[j]);
		pDC->MoveTo(500,40+20*j);
		pDC->LineTo(600,40+20*j);
		pDC->SelectObject(pPenOld);                 //恢復設備環(huán)境中原來的畫筆
		delete pPenNew;                            //自動刪除底層的GDI對象
	}
	//////////////////////////////////////////////////////////////////
    CBrush *pBrhOld;//創(chuàng)建畫刷
	pBrhOld=(CBrush*)pDC->SelectStockObject(LTGRAY_BRUSH);
	pDC->RoundRect(610,30,720,100,20,20);//繪制圓角矩形
	pDC->Arc(10,200,200,300,200,250,20,200); //繪制橢圓弧
	pDC->Chord(620,320,740,240,720,360,620,380);//繪制弦形
	pDC->SelectObject(pBrhOld);//恢復系統(tǒng)默認的畫刷

	//////////////////////////////////////////////////////////////////
	TEXTMETRIC tm;                   // 字體信息結構
	int y=10;                        //輸出文本的Y坐標
	CFont fntZdy,*pfntOld;
	pfntOld=(CFont *)pDC->SelectStockObject(DEVICE_DEFAULT_FONT);//選擇堆字體
	pDC->TextOut(0,y+200," Device Default Font!");
	pDC->GetTextMetrics(&tm);                 //獲取字體信息tm
	y=y+tm.tmHeight+tm.tmExternalLeading;
	fntZdy.CreatePointFont(200,"Time New Roman",pDC);
	pfntOld=pDC->SelectObject(&fntZdy);         //選入設備環(huán)境
	pDC->SetTextColor(RGB(0,0,255));             //設置文本顏色為藍色
	pDC->TextOut(0,y+230," 20 pt Time New Roman Font!");
	pDC->GetTextMetrics(&tm);
	y=y+tm.tmHeight+tm.tmExternalLeading;
	fntZdy.DeleteObject();                   //刪除創(chuàng)建的字體
	LOGFONT LogFnt={                          //定義新的字體
		30,                                   
	    24,
		0,0,
		FW_HEAVY,
		1,
		1,
		0,
		ANSI_CHARSET,
		OUT_DEFAULT_PRECIS,
		CLIP_DEFAULT_PRECIS,
		DEFAULT_QUALITY,
		DEFAULT_PITCH,
		"Arial"                           //匹配的字體
	};
	fntZdy.CreateFontIndirect(&LogFnt);    //創(chuàng)建字體
	pDC->SelectObject(&fntZdy);
	pDC->SetTextColor(RGB(255,0,0));        //設置文本顏色為紅色
	pDC->TextOut(0,y+250,"LOGFONT Font!");  
	pDC->GetTextMetrics(&tm);
	y=y+tm.tmHeight+tm.tmExternalLeading;
	fntZdy.DeleteObject();
	pDC->SelectObject(pfntOld);//恢復系統(tǒng)原來字體
	////////////////////////////////////////////////////////////////////////
	CFont * pfntold=pDC->SelectObject(&m_fontDlg); //設置字體
	pDC->SetTextColor(m_clrText);                  //設置文本顏色
	pDC->TextOut(350,350,"使用通用字體對話框設置字體!");
	pDC->SelectObject(pfntold);
	////////////////////////////////////////////////////////////////////////
	CDC MemDC;
	MemDC.CreateCompatibleDC(pDC);//創(chuàng)建一個內存設備環(huán)境
	CBitmap Bitmap;
	Bitmap.LoadBitmap(IDB_MYBITMAP);//裝入BMP格式的位圖資源
	CBitmap *pOldBitmap=MemDC.SelectObject(&Bitmap);//將位圖對象選入設備環(huán)境
	BITMAP bm;
	Bitmap.GetObject(sizeof(BITMAP),&bm);     //讀取位圖信息
	pDC->BitBlt(400,180,bm.bmWidth,bm.bmHeight,&MemDC,0,0,SRCCOPY);
	MemDC.SelectObject(pOldBitmap);       //恢復原來的位圖對象

}

/////////////////////////////////////////////////////////////////////////////
// CRJ050119View printing

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

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

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

/////////////////////////////////////////////////////////////////////////////
// CRJ050119View diagnostics

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

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

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

/////////////////////////////////////////////////////////////////////////////
// CRJ050119View message handlers

void CRJ050119View::OnContextMenu(CWnd* pWnd, CPoint point) 
{
	// TODO: Add your message handler code here
	CMenu menuPopup;                        //聲明菜單對象
	if(menuPopup.CreatePopupMenu())         //創(chuàng)建一個彈出式菜單
	{   //向菜單中添加菜單項                        
		menuPopup.AppendMenu(MF_STRING,ID_COIN_ADD,"增加硬幣\tCtrl+A");
        menuPopup.AppendMenu(MF_STRING,ID_COIN_SUB,"減少硬幣\tCtrl+S");
		//顯示彈出式菜單,并對用戶選擇的菜單項作出響應
		menuPopup.TrackPopupMenu(TPM_LEFTALIGN,point.x,point.y,this);
	}
}




void CRJ050119View::OnLButtonDown(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
	SetCapture();
	::SetCursor(m_hCross);
	m_ptOrigin=point;
	m_bDragging=TRUE;
///////////////////////////////////////////////////////////////////
	BeginWaitCursor();//顯示沙漏狀光標
	SetTimer(1,2000,NULL);//啟動一個2秒的計時器
	CView::OnLButtonDown(nFlags, point);
}

void CRJ050119View::OnMouseMove(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
	if(m_bDragging)
	{
		
		CClientDC dc(this);
		dc.MoveTo(m_ptOrigin);
		dc.LineTo(point);            //繪制線段
		m_ptOrigin=point;            //新的起點
	
	
	}
	//CView::OnMouseMove(nFlags, point);
}

void CRJ050119View::OnLButtonUp(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
	if(m_bDragging)
	{
		m_bDragging=false;         //清拖曳標記
		ReleaseCapture();          //釋放鼠標,還原鼠標形狀
	}
	//CView::OnLButtonUp(nFlags, point);
}

void CRJ050119View::OnEditInputradius() 
{
	// TODO: Add your command handler code here
	CRadiusDialog dlg;             //定義一個對話框
	dlg.m_nRadius=100;             //設置編輯框顯示的初始值
	if(dlg.DoModal()==IDOK)        //顯示對話框
	{
		m_nCViewRadius=dlg.m_nRadius;//接收并存儲編輯框數(shù)據(jù)
		Invalidate();                //刷新視圖
	}
}





void CRJ050119View::OnViewFont() 
{
	// TODO: Add your command handler code here
	CFontDialog dlgFont;
	if(dlgFont.DoModal()==IDOK)
	{
		m_fontDlg.DeleteObject();
		LOGFONT LogFnt;
		dlgFont.GetCurrentFont(&LogFnt);      //獲得用戶所選擇的字體
		m_fontDlg.CreateFontIndirect(&LogFnt);//創(chuàng)建用戶所選擇的字體
		m_clrText=dlgFont.m_cf.rgbColors;     //獲得用戶所選擇的顏色
		Invalidate();
	}
}

void CRJ050119View::OnTimer(UINT nIDEvent) 
{
	// TODO: Add your message handler code here and/or call default
	ReleaseCapture();
	EndWaitCursor();//2秒后恢復光標原來的形狀
	KillTimer(1);      //刪除計時器
	CView::OnTimer(nIDEvent);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一本二本av| 亚洲欧洲日韩在线| 国产精品女主播在线观看| 亚洲最新在线观看| 精品一区二区三区免费毛片爱| 欧美va日韩va| 国产拍欧美日韩视频二区| 日韩电影在线一区二区三区| 99精品偷自拍| 久久久国产精品麻豆| 日韩专区一卡二卡| 色猫猫国产区一区二在线视频| 久久综合久久久久88| 亚洲国产中文字幕在线视频综合| 成人影视亚洲图片在线| 2023国产精品| 捆绑调教美女网站视频一区| 欧美性感一区二区三区| 综合中文字幕亚洲| av成人免费在线| 国产欧美日韩不卡免费| 国产精品一级在线| www国产成人免费观看视频 深夜成人网| 一区二区三区四区国产精品| 99精品欧美一区二区三区小说| 久久网站热最新地址| 麻豆精品国产传媒mv男同| 欧美精品久久久久久久久老牛影院| 1024国产精品| 色成人在线视频| 亚洲乱码日产精品bd| 99riav久久精品riav| 欧美高清在线一区| 成人在线一区二区三区| 中文字幕的久久| 成人国产精品视频| 亚洲人成伊人成综合网小说| 色婷婷久久久亚洲一区二区三区| 国产精品免费观看视频| 91在线国产福利| 一区二区三区中文字幕电影| 色视频一区二区| 婷婷六月综合亚洲| 欧美一区二区三区成人| 黑人巨大精品欧美一区| 久久精品一区蜜桃臀影院| 高清成人免费视频| 中文字幕日本乱码精品影院| 色噜噜狠狠成人网p站| 亚洲成人精品一区二区| 精品国产乱码久久久久久免费| 国产酒店精品激情| 国产精品第五页| 欧美中文字幕亚洲一区二区va在线 | 欧美视频精品在线| 日韩经典中文字幕一区| 久久精品在线免费观看| 97久久超碰国产精品| 亚洲一区二区五区| 久久这里只有精品首页| 精品精品欲导航| 国产精品中文欧美| 亚洲永久精品大片| 欧美成人欧美edvon| 成人福利视频网站| 无码av中文一区二区三区桃花岛| 亚洲精品在线免费播放| 一本色道久久综合狠狠躁的推荐 | 中文字幕精品一区二区精品绿巨人 | 国产欧美日韩在线| 欧美色网一区二区| 国产精品一区免费在线观看| 一区二区三区中文免费| 亚洲精品在线电影| 91国产免费观看| 国产精品99久久久久久有的能看| 亚洲一卡二卡三卡四卡五卡| 久久蜜臀中文字幕| 欧美电影在线免费观看| 成人黄色电影在线 | 国产91在线观看| 婷婷丁香久久五月婷婷| 中文字幕免费在线观看视频一区| 欧美日韩情趣电影| 国产精品911| 男男视频亚洲欧美| 亚洲综合一二区| 日本一区二区三区免费乱视频| 欧美日本一道本在线视频| 成人午夜在线免费| 国模一区二区三区白浆| 天堂久久一区二区三区| 亚洲免费av高清| 亚洲国产精品成人久久综合一区| 欧美久久久久久久久| 欧美亚洲日本国产| 99精品黄色片免费大全| 国产成人午夜视频| 精品一区二区三区不卡| 日韩精品一区第一页| 亚洲曰韩产成在线| 国产精品家庭影院| 国产精品女同一区二区三区| 久久婷婷成人综合色| 欧美xxxxxxxxx| 日韩精品专区在线| 欧美r级电影在线观看| 欧美一区二区三区在线视频| 欧美久久久久久蜜桃| 欧美日韩一区在线观看| 欧美日韩午夜在线视频| 在线免费观看视频一区| 日本大香伊一区二区三区| 91福利在线看| 欧美视频一区二| 亚洲欧美日韩综合aⅴ视频| 国产精品欧美极品| 最新高清无码专区| 亚洲欧洲精品一区二区精品久久久 | 欧美刺激午夜性久久久久久久| 欧美一区二区福利视频| 91精品国产综合久久福利| 欧美三级三级三级| 777亚洲妇女| 欧美不卡一区二区三区| 亚洲精品一区二区在线观看| 久久久久久亚洲综合| 国产日韩影视精品| 中文字幕日本乱码精品影院| 亚洲女人小视频在线观看| 亚洲午夜精品网| 日韩精品成人一区二区三区| 久久精品国产成人一区二区三区| 美女视频一区在线观看| 国产一区二区不卡| 91视频免费观看| 在线综合视频播放| 国产亚洲精品bt天堂精选| 中文字幕亚洲成人| 日日摸夜夜添夜夜添精品视频| 日韩成人一区二区三区在线观看| 久久99热这里只有精品| 成人国产视频在线观看| 欧美日韩精品欧美日韩精品一| 性欧美大战久久久久久久久| 日本vs亚洲vs韩国一区三区| 国产一区二区按摩在线观看| 日本二三区不卡| 精品日产卡一卡二卡麻豆| 国产精品成人在线观看| 亚洲成av人影院| 丁香另类激情小说| 欧美男男青年gay1069videost | 91精品国产综合久久久蜜臀粉嫩| 欧美电影免费观看高清完整版在线| 欧美国产日产图区| 亚洲国产日产av| 国产精品白丝jk黑袜喷水| 欧美日韩精品一区视频| 欧美国产丝袜视频| 蜜臀av性久久久久蜜臀av麻豆| 99精品欧美一区| 精品sm捆绑视频| 性做久久久久久久久| 不卡的电影网站| 欧美精品一区二区三区很污很色的| 日韩美女久久久| 国产精品69毛片高清亚洲| 欧美色成人综合| 亚洲视频一区二区在线| 国内精品第一页| 欧美日本不卡视频| 亚洲激情成人在线| 成人av网站在线观看免费| 日韩女优电影在线观看| 天天av天天翘天天综合网 | 亚洲欧美激情小说另类| 国产一二三精品| 欧美一区二区日韩| 一区二区三区日本| 91小视频免费观看| 国产精品国产自产拍在线| 国产毛片精品一区| 日韩情涩欧美日韩视频| 日韩成人免费电影| 欧美午夜视频网站| 一区二区三区资源| 色激情天天射综合网| 亚洲私人黄色宅男| k8久久久一区二区三区| 国产精品天天摸av网| 国产精品亚洲第一| 久久久久久久久免费| 精品一区二区三区免费| 精品久久久久久亚洲综合网| 老司机午夜精品| 日韩精品一区二区三区视频在线观看| 天天影视网天天综合色在线播放 | 91污在线观看| 亚洲人被黑人高潮完整版|