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

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

?? curveframe.cpp

?? 模擬了現(xiàn)實(shí)中的示波器
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
// CurveFrame.cpp : implementation file
//

#include "stdafx.h"
#include "CurveFrame.h"

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

/////////////////////////////////////////////////////////////////////////////
// CCurveFrame

CCurveFrame::CCurveFrame()
{
	m_rectOffset.left = 50;
	m_rectOffset.top = 20;
	m_rectOffset.right = 20;
	m_rectOffset.bottom = 40;

	m_clrBkGround = RGB(0, 0, 0);
	m_clrGridLine = RGB(26, 73, 20);
	m_clrGridBoldLine = RGB(55, 158, 44);
	m_clrGridXCoord = RGB(255, 0, 0);
	m_clrCurve[0] = RGB(255,255,255);
	m_clrCurve[1] = RGB(0,255,0);
	m_clrCurve[2] = RGB(0,255,255);
	
	for (int i=0; i<3; i++)
	{
		m_bChannelFlag[i] = FALSE;
		m_nWidth[i] = 1;
	}

	m_fVerScale = 1.0;
	m_nHorScale = 100;
}

CCurveFrame::~CCurveFrame()
{
}


BEGIN_MESSAGE_MAP(CCurveFrame, CStatic)
	//{{AFX_MSG_MAP(CCurveFrame)
	ON_WM_PAINT()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
/*
函數(shù)介紹:	根據(jù)lpRect設(shè)置繪圖區(qū)的新位置
輸入?yún)?shù):	LPCRECT lpRect
輸出參數(shù):	無
返回值  :	無
*/
/////////////////////////////////////////////////////////////////////////////
void CCurveFrame::SetCurvePos(LPCRECT lpRect)
{
	MoveWindow(lpRect);
}

/////////////////////////////////////////////////////////////////////////////
/*
函數(shù)介紹:	繪制整個(gè)圖形顯示區(qū)的波形,以及坐標(biāo)軸,坐標(biāo)文字
輸入?yún)?shù):	無
輸出參數(shù):	無
返回值  :	無
*/
/////////////////////////////////////////////////////////////////////////////
void CCurveFrame::DrawCurve(double data0[1024], int num0,
							double data1[1024], int num1,
							double data2[1024], int num2,
							double FreqencySample)
{
	CDC *pDC = GetDC();//設(shè)備上下文指針

	m_memDCClient.BitBlt(0,0,m_rectClientArea.Width(), m_rectClientArea.Height(), &m_memDC,m_rectOffset.left,m_rectOffset.top,SRCCOPY);

	if (m_bChannelFlag[0] == TRUE || m_bChannelFlag[1] == TRUE ||
		m_bChannelFlag[2] == TRUE)
	{
		for (int i=0; i<3; i++)
		{
			if(m_bChannelFlag[i])
			{
				if (i == 0)
					DrawCurveDetail(&m_memDCClient,&m_rectClientArea, m_clrCurve[i], m_nWidth[i],	data0, num0, FreqencySample);
				else if(i == 1)
					DrawCurveDetail(&m_memDCClient,&m_rectClientArea, m_clrCurve[i], m_nWidth[i],	data1, num1, FreqencySample);
				else
					DrawCurveDetail(&m_memDCClient,&m_rectClientArea, m_clrCurve[i], m_nWidth[i],	data2, num2, FreqencySample);
			}
		}
	}
	m_memDCCur.BitBlt(m_rectOffset.left,m_rectOffset.top,m_rectClientArea.Width(), m_rectClientArea.Height(), &m_memDCClient,0,0,SRCCOPY);

	pDC->BitBlt(0,0,m_rectBkArea.Width(), m_rectBkArea.Height(), &m_memDCCur,0,0,SRCCOPY);
	ReleaseDC(pDC);
}

/////////////////////////////////////////////////////////////////////////////
/*
函數(shù)介紹:	繪制圖形顯示區(qū)的,有立體感的背景,并填充波信顯示區(qū)的背景
輸入?yún)?shù):	CDC *pDC,		
			LPCRECT lpRect	
輸出參數(shù):	無
返回值  :	無
*/
/////////////////////////////////////////////////////////////////////////////
void CCurveFrame::DrawBkGround(CDC *pDC, LPCRECT lpRect)
{
	CPen penTop[2];//頂邊線
	CPen penLeft[9];//左邊線
	CPen penRight[14];//右邊線
	penTop[0].CreatePen(PS_SOLID, 1, RGB(208, 208, 208));
	penTop[1].CreatePen(PS_SOLID, 1, RGB(203, 203, 203));

	penLeft[0].CreatePen(PS_SOLID, 1, RGB(204, 204, 204));	
	penLeft[1].CreatePen(PS_SOLID, 1, RGB(208, 208, 208));	
	penLeft[2].CreatePen(PS_SOLID, 1, RGB(211, 211, 211));
	penLeft[3].CreatePen(PS_SOLID, 1, RGB(211, 211, 211));
	penLeft[4].CreatePen(PS_SOLID, 1, RGB(211, 211, 211));
	penLeft[5].CreatePen(PS_SOLID, 1, RGB(210, 210, 210));
	penLeft[6].CreatePen(PS_SOLID, 1, RGB(207, 207, 207));
	penLeft[7].CreatePen(PS_SOLID, 1, RGB(203, 203, 203));
	penLeft[8].CreatePen(PS_SOLID, 1, RGB(196, 196, 196));

	penRight[0].CreatePen(PS_SOLID, 1, RGB(64, 64, 64));
	penRight[1].CreatePen(PS_SOLID, 1, RGB(112, 112, 112));
	penRight[2].CreatePen(PS_SOLID, 1, RGB(130, 130, 130));
	penRight[3].CreatePen(PS_SOLID, 1, RGB(139, 139, 139));
	penRight[4].CreatePen(PS_SOLID, 1, RGB(147, 147, 147));
	penRight[5].CreatePen(PS_SOLID, 1, RGB(153, 153, 153));
	penRight[6].CreatePen(PS_SOLID, 1, RGB(157, 157, 157));
	penRight[7].CreatePen(PS_SOLID, 1, RGB(162, 162, 162));
	penRight[8].CreatePen(PS_SOLID, 1, RGB(166, 166, 166));
	penRight[9].CreatePen(PS_SOLID, 1, RGB(170, 170, 170));
	penRight[10].CreatePen(PS_SOLID, 1, RGB(174, 174, 174));
	penRight[11].CreatePen(PS_SOLID, 1, RGB(179, 179, 179));
	penRight[12].CreatePen(PS_SOLID, 1, RGB(184, 184, 184));
	penRight[13].CreatePen(PS_SOLID, 1, RGB(189, 189, 189));

	//繪制上面的兩根線
	CPen *pOldPen = pDC->SelectObject(&penTop[0]);
	pDC->MoveTo(lpRect->left, lpRect->top);
	pDC->LineTo(lpRect->right-3,lpRect->top);
	pDC->SelectObject(&penTop[1]);
	pDC->MoveTo(lpRect->left+1, lpRect->top+1);
	pDC->LineTo(lpRect->right-8,lpRect->top+1);
	//繪制左邊的9根線
	for (int i=0; i<9; i++)
	{
		pDC->SelectObject(&penLeft[i]);
		if (i==0)
		{
			pDC->MoveTo(lpRect->left+i, lpRect->top+1);
			pDC->LineTo(lpRect->left+i, lpRect->bottom);
		}
		else
		{
			pDC->MoveTo(lpRect->left+i, lpRect->top+2);
			pDC->LineTo(lpRect->left+i, lpRect->bottom);
		}
	}
	//繪制右邊的14根線
	for (i=0; i<14; i++)
	{
		pDC->SelectObject(&penRight[i]);
		if(i < 3)
		{
			pDC->MoveTo(lpRect->right-i-1, lpRect->top);
			pDC->LineTo(lpRect->right-i-1, lpRect->bottom);
		}
		else if(i < 8)
		{
			pDC->MoveTo(lpRect->right-i-1, lpRect->top-1);
			pDC->LineTo(lpRect->right-i-1, lpRect->bottom);
		}
		else
		{
			pDC->MoveTo(lpRect->right-i-1, lpRect->top-2);
			pDC->LineTo(lpRect->right-i-1, lpRect->bottom);
		}
	}
	
	CPen penInbound;
	CBrush brushInbound;
	penInbound.CreateStockObject(NULL_PEN);
	brushInbound.CreateSolidBrush(RGB(191,191,191));
	//填充背景
	CBrush *pOldBrush = pDC->SelectObject(&brushInbound);
	pDC->SelectObject(&penInbound);
	pDC->Rectangle(lpRect->left+9, lpRect->top+2,
		lpRect->right-13, lpRect->bottom+1);

	pDC->SelectObject(pOldPen);
	pDC->SelectObject(pOldBrush);
}

/////////////////////////////////////////////////////////////////////////////
/*
函數(shù)介紹:	繪制曲線背景客戶區(qū),也就是繪制網(wǎng)格
輸入?yún)?shù):	CDC *pDC,		
			LPCRECT lpRect	
輸出參數(shù):	無
返回值  :	無
*/
/////////////////////////////////////////////////////////////////////////////
void CCurveFrame::DrawBkGrid(CDC *pDC, LPCRECT lpRect, 
							   COLORREF clrBkGround, COLORREF clrGridXCoord,
							   COLORREF clrGridLine, COLORREF clrGridBoldLine)
{
	//繪圖區(qū)的尺寸臨時(shí)變量
	CRect rectCur;
	rectCur = lpRect;

	CPen penBk;//繪圖區(qū)背景畫筆
	CBrush brushBk;//繪圖區(qū)背景畫刷
	CPen penXCorrd;//繪圖區(qū)X軸線
	CPen penGridLine;//繪圖區(qū)網(wǎng)格細(xì)線
	CPen penGridBoldLine;//繪圖區(qū)網(wǎng)格粗線

	CPen penScale;//繪制坐標(biāo)文字旁的坐標(biāo)刻度線

	penBk.CreatePen(PS_SOLID, 1, m_clrBkGround);
	brushBk.CreateSolidBrush(clrBkGround);//畫背景的顏色
	penXCorrd.CreatePen(PS_SOLID, 1, m_clrGridXCoord);
	penGridLine.CreatePen(PS_SOLID, 1, m_clrGridLine);
	penGridBoldLine.CreatePen(PS_SOLID, 1, m_clrGridBoldLine);
	penScale.CreateStockObject(BLACK_PEN);

	//用背景畫刷填充背景
	CPen *pOldPen = pDC->SelectObject(&penBk);
	CBrush *pOldBrush = pDC->SelectObject(&brushBk);
	pDC->Rectangle(rectCur);
	
	//繪制網(wǎng)格線之前要設(shè)置映射模式,轉(zhuǎn)換坐標(biāo),移動(dòng)原點(diǎn)
	int oldMapMode = pDC->SetMapMode(MM_HIMETRIC);
	CPoint oldPtViewOrg = pDC->SetViewportOrg(rectCur.left, (rectCur.bottom+rectCur.top)/2);
	pDC->DPtoLP(&rectCur);
	
	//繪制刻度線
	CPoint ptFrom(0, 0);
	CPoint ptTo(rectCur.right, 0);

	pDC->SelectObject(&penXCorrd);
	pDC->MoveTo(ptFrom);
	pDC->LineTo(ptTo);//繪制X軸
	
	//繪制垂直坐標(biāo)刻度,0刻度線
	pDC->SelectObject(&penScale);
	pDC->MoveTo(ptFrom.x - 50, ptFrom.y);
	pDC->LineTo(ptFrom.x - 200, ptFrom.y);
	
	int nIntervalHor = (rectCur.top)/25;
	for (int i=0; i<25; i++)
	{//繪制上半部分水平網(wǎng)格,橫行為10大格,50小格
		if ((i+1)%5 == 0)
			pDC->SelectObject(&penGridBoldLine);
		else
			pDC->SelectObject(&penGridLine);
		ptFrom.Offset(0, nIntervalHor);
		ptTo.Offset(0, nIntervalHor);
		pDC->MoveTo(ptFrom); 
		pDC->LineTo(ptTo);

		//繪制垂直坐標(biāo)刻度線
		if((i+1)%5 == 0)
		{
			pDC->SelectObject(&penScale);
			pDC->MoveTo(ptFrom.x - 50, ptFrom.y);
			pDC->LineTo(ptFrom.x - 200, ptFrom.y);
		}

	}
	ptFrom.x = 0;
	ptFrom.y = 0;
	ptTo.x = rectCur.right;
	ptTo.y = 0;
	for (i=0; i<25; i++)
	{//繪制下半部分水平網(wǎng)格
		if ((i+1)%5 == 0)
			pDC->SelectObject(&penGridBoldLine);
		else
			pDC->SelectObject(&penGridLine);
		ptFrom.Offset(0, -nIntervalHor);
		ptTo.Offset(0, -nIntervalHor);
		pDC->MoveTo(ptFrom); 
		pDC->LineTo(ptTo);

		//繪制垂直坐標(biāo)刻度線
		if((i+1)%5 == 0)
		{
			if (i != 24)
			{
				pDC->SelectObject(&penScale);
				pDC->MoveTo(ptFrom.x - 50, ptFrom.y);
				pDC->LineTo(ptFrom.x - 200, ptFrom.y);
			}
			else
			{
				pDC->SelectObject(&penScale);
				pDC->MoveTo(ptFrom.x - 50, ptFrom.y);
				pDC->LineTo(ptFrom.x - 200, ptFrom.y);
				//繪制x軸的最左邊一條坐標(biāo)線
				pDC->MoveTo(ptFrom.x, ptFrom.y - 50);
				pDC->LineTo(ptFrom.x, ptFrom.y - 200);
			}
		}
	}

	ptFrom = rectCur.TopLeft();
	ptTo.x = rectCur.left;
	ptTo.y = rectCur.bottom;
	int nIntervalVer = (rectCur.right)/50;
	pDC->SelectObject(&penGridBoldLine);
	pDC->MoveTo(ptFrom.x+1, ptFrom.y); 
	pDC->LineTo(ptTo.x+1, ptTo.y);
	for (i=0; i<50; i++)
	{//繪制垂直部分網(wǎng)格,縱行為50小格,10大格
		if ((i+1)%5 == 0)
			pDC->SelectObject(&penGridBoldLine);
		else
			pDC->SelectObject(&penGridLine);
		ptFrom.Offset(nIntervalVer, 0);
		ptTo.Offset(nIntervalVer, 0);
		pDC->MoveTo(ptFrom); 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
高清不卡一区二区| 天堂一区二区在线| 成人黄色小视频| 日本一区二区不卡视频| 丁香一区二区三区| 国产精品无遮挡| 91丝袜呻吟高潮美腿白嫩在线观看| 国产精品护士白丝一区av| 99精品在线免费| 亚洲一区二区三区四区不卡| 欧美剧情片在线观看| 日本不卡一区二区三区高清视频| 91精品国产综合久久久久久漫画| 日本午夜精品视频在线观看| 26uuu另类欧美亚洲曰本| 国产一区不卡精品| 国产精品初高中害羞小美女文| 色偷偷久久人人79超碰人人澡| 香蕉加勒比综合久久 | 国产高清久久久久| 国产精品美女久久久久久久| 91国偷自产一区二区三区观看| 亚洲午夜免费视频| 精品国产亚洲在线| 成人蜜臀av电影| 午夜精品久久久久久久99樱桃| 欧美va亚洲va| 93久久精品日日躁夜夜躁欧美| 午夜精品久久久久久久99水蜜桃| 久久久国产午夜精品| 色94色欧美sute亚洲线路一久| 丝袜诱惑制服诱惑色一区在线观看| 欧美va在线播放| 日本电影欧美片| 国产精品99久久久久| 亚洲午夜精品17c| 久久精品人人做人人爽人人| 欧美成人乱码一区二区三区| 91一区二区三区在线观看| 五月天欧美精品| 国产精品国产三级国产aⅴ原创| 911精品产国品一二三产区| 成人黄色小视频| 久久福利视频一区二区| 一区二区三区久久| 国产视频不卡一区| 欧美一区二区三区电影| 一本大道av一区二区在线播放| 久久99国内精品| 亚洲成人久久影院| 亚洲欧美二区三区| 亚洲国产精品激情在线观看| 在线不卡一区二区| 色激情天天射综合网| 国产传媒一区在线| 蜜臀av一区二区在线免费观看| 亚洲精品高清在线| 国产精品不卡一区| 久久久久久亚洲综合影院红桃| 欧美一区午夜视频在线观看| 日本道精品一区二区三区| 国产成人精品一区二区三区四区 | 日韩成人一级大片| 亚洲综合图片区| 亚洲欧美偷拍另类a∨色屁股| 国产无一区二区| 久久婷婷久久一区二区三区| 欧美夫妻性生活| 欧美日韩免费一区二区三区 | 免费看黄色91| 亚洲成av人片| 亚洲国产精品嫩草影院| 亚洲精品亚洲人成人网在线播放| 国产色婷婷亚洲99精品小说| 亚洲精品在线免费观看视频| 91精品国产综合久久蜜臀| 欧美日韩中文字幕一区二区| 91成人国产精品| 色悠悠亚洲一区二区| 成人av电影在线| av一区二区不卡| 91片在线免费观看| 色综合久久综合| 在线观看三级视频欧美| 日本韩国欧美一区| 欧美日韩一卡二卡三卡| 欧美二区在线观看| 欧美精品 国产精品| 欧美乱妇15p| 5566中文字幕一区二区电影| 欧美日韩国产色站一区二区三区| 欧美亚洲国产bt| 欧美日韩一区二区欧美激情| 欧美视频一二三区| 91精品久久久久久蜜臀| 日韩精品一区二区三区视频在线观看 | 国产麻豆视频一区二区| 国产一区二区三区| 成人午夜视频福利| 色先锋资源久久综合| 欧美福利视频导航| 国产欧美日韩另类一区| 亚洲女性喷水在线观看一区| 亚洲一区二区精品久久av| 日韩av中文在线观看| 国产麻豆精品视频| 91丨九色丨尤物| 欧美肥妇free| 国产拍揄自揄精品视频麻豆| 中文字幕亚洲一区二区av在线| 一区二区三区在线高清| 青青草精品视频| 成人黄色综合网站| 欧美片网站yy| 国产免费成人在线视频| 亚洲国产欧美在线| 在线不卡a资源高清| 久久久综合网站| 亚洲午夜电影网| 国产经典欧美精品| 欧美亚洲综合久久| 欧美精品一区男女天堂| 亚洲视频综合在线| 精品一区二区三区在线播放| 本田岬高潮一区二区三区| 欧美日韩一区二区在线观看| 国产亚洲一区二区在线观看| 亚洲综合精品自拍| 国产不卡视频在线播放| 欧美日韩一二三| 最好看的中文字幕久久| 美女mm1313爽爽久久久蜜臀| 91原创在线视频| 欧美精品一区二区三区久久久| 亚洲日穴在线视频| 国产一区二区中文字幕| 欧美人牲a欧美精品| 国产精品无遮挡| 黄色精品一二区| 在线不卡中文字幕| 亚洲自拍偷拍网站| av一二三不卡影片| 久久久精品日韩欧美| 日韩avvvv在线播放| 91国产精品成人| 亚洲少妇最新在线视频| 国产精品乡下勾搭老头1| 日韩一区二区精品葵司在线| 亚洲综合在线第一页| av影院午夜一区| 免费成人结看片| 在线观看中文字幕不卡| 亚洲欧洲日韩综合一区二区| 国产一区二区电影| 26uuu成人网一区二区三区| 日韩黄色片在线观看| 欧美日韩在线播放三区| 亚洲欧美激情一区二区| www.日韩在线| 国产精品日韩成人| 顶级嫩模精品视频在线看| 国产色一区二区| 成人永久看片免费视频天堂| 2欧美一区二区三区在线观看视频| 日韩国产精品久久久| 欧美男同性恋视频网站| 一区二区三区在线播| 91黄色小视频| 亚洲欧美另类图片小说| 色94色欧美sute亚洲13| 亚洲乱码国产乱码精品精的特点| 91在线观看免费视频| 亚洲色图欧美激情| 97精品电影院| 一区二区三区四区高清精品免费观看| 成人福利电影精品一区二区在线观看| 国产欧美精品一区二区色综合 | av激情成人网| 国产精品福利电影一区二区三区四区| 成人夜色视频网站在线观看| 国产三级欧美三级日产三级99 | 高清av一区二区| 亚洲国产成人在线| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 国产成人在线视频网站| 国产婷婷色一区二区三区在线| 国产乱人伦偷精品视频免下载| 久久精品网站免费观看| 成人高清在线视频| 亚洲精品欧美综合四区| 欧美日韩综合在线| 三级亚洲高清视频| 日韩欧美在线观看一区二区三区| 国产中文字幕一区| 中文字幕中文字幕一区二区| 色综合久久66| 欧美aa在线视频| 国产欧美久久久精品影院| 色久优优欧美色久优优| 蜜桃av噜噜一区二区三区小说|