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

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

?? graph.h

?? 一個簡單的學生成績管理軟件
?? H
字號:
#include <math.h>

class CGraph : public CObject
{
public:
	CGraph::CGraph();
	CGraph::CGraph(CRect rcDraw);
	CGraph::CGraph(CRect rcDraw, int nMode);
	void SetDrawRect(CRect rcDraw);
	void SetDrawMode(int nMode);
	void AddData(unsigned int data);		// 添加數據
	void Draw(CDC *pDC, bool isDispData = FALSE);	
	// 繪制,當isDispData務TRUE,在直方圖的頂上顯示數字或餅圖中顯示百分比
private:
	CRect m_rectDraw;				// 用于繪制直方圖和餅圖的整個范圍
	int   m_nMode;					// 0表示直方圖,其它值表示餅圖
	CUIntArray  m_uDataArray;		// 用于存放各個分量的值
	LOGFONT m_lfData;

	void DrawBar(CDC *pDC, bool isDispData);
	void DrawPie(CDC *pDC);
	void InitGraph(CRect rcDraw, int nMode);
};

CGraph::CGraph()
{
	CRect rc(0, 0, 100, 100);
	InitGraph(rc, 0);
}
CGraph::CGraph(CRect rcDraw)
{
	InitGraph(rcDraw, 0);
}
CGraph::CGraph(CRect rcDraw, int nMode)
{
	InitGraph(rcDraw, nMode);
}
void CGraph::InitGraph(CRect rcDraw, int nMode)
{
	SetDrawRect(rcDraw);
	SetDrawMode(nMode);

	memset(&m_lfData, 0, sizeof(LOGFONT));	
	m_lfData.lfHeight = -13;
	m_lfData.lfCharSet = GB2312_CHARSET;
	strcpy((LPSTR)&(m_lfData.lfFaceName), "宋體");
}
void CGraph::SetDrawRect(CRect rcDraw)
{
	m_rectDraw = rcDraw;
}
void CGraph::SetDrawMode(int nMode)
{
	m_nMode = nMode;
}
void CGraph::AddData(unsigned int data)					// 添加數據
{
	m_uDataArray.Add(data);
}
void CGraph::Draw(CDC *pDC, bool isDispData)
{
	// 繪制背景區域
	pDC->FillSolidRect( m_rectDraw, RGB(255,255,255));
	pDC->Draw3dRect( m_rectDraw, RGB( 96, 96, 96 ), RGB( 255, 255, 255 ) );
	m_rectDraw.InflateRect( -10, -10 );

	if (m_nMode)
		DrawPie(pDC);
	else
		DrawBar(pDC, isDispData);
}

void CGraph::DrawBar(CDC *pDC, bool isDispData)
{
	// 計算最大的量
	UINT nData, nDataNum, nDataMax = 0;
	nDataNum = m_uDataArray.GetSize();
	if (nDataNum < 1) return;

	for (UINT i=0; i<nDataNum; i++) {
		nData = m_uDataArray.GetAt(i);
		if (nDataMax < nData)	nDataMax = nData;
	}
	double dbPerHeight = (double)(m_rectDraw.Height() - 20) / (double)nDataMax;
	int nPerWidth = m_rectDraw.Width() / nDataNum;

	UINT nHatch[] = {HS_BDIAGONAL, HS_FDIAGONAL, HS_CROSS, HS_DIAGCROSS, HS_HORIZONTAL, HS_VERTICAL};
	int nIndex = 0;
	CRect rcDraw = m_rectDraw;

	CFont		cf;	
	cf.CreateFontIndirect(&m_lfData); 
	CFont* oldfont = pDC->SelectObject(&cf);

	for (i=0; i<nDataNum; i++) 
	{
		nData = m_uDataArray.GetAt(i);

		CBrush brush(nHatch[nIndex], RGB(64,64,64));
		rcDraw.right = rcDraw.left + nPerWidth;
		rcDraw.top = rcDraw.bottom - (int)(nData*dbPerHeight);

		CBrush* oldBrush = pDC->SelectObject(&brush);
		pDC->Rectangle(rcDraw);
		pDC->SelectObject(oldBrush);

		if (isDispData) {
			CRect rcData = rcDraw;
			rcData.bottom = rcData.top;
			rcData.top -= 20;
			CString str;
			str.Format("%d", nData);
			pDC->DrawText(str, rcData, DT_VCENTER | DT_CENTER | DT_SINGLELINE );
		}

		nIndex++;
		if (nIndex >= 6) nIndex = 0;
		rcDraw.left = rcDraw.right;
	}

	pDC->SelectObject(oldfont);				// 恢復設備環境原來的屬性
}
void CGraph::DrawPie(CDC *pDC)
{
	// 計算最大的量
	UINT nData, nDataNum, nDataSum = 0;
	nDataNum = m_uDataArray.GetSize();
	if (nDataNum < 1) return;

	for (UINT i=0; i<nDataNum; i++) 
		nDataSum += m_uDataArray.GetAt(i);	// 計算和

	// 調整繪圖的范圍,使之成為一個正方形區域
	CRect rcDraw = m_rectDraw;
	int nDelta = rcDraw.Width() - rcDraw.Height();
	if (nDelta > 0)
		rcDraw.DeflateRect(nDelta/2, 0);
	else
		rcDraw.DeflateRect(0, -nDelta/2);

	double dbPer = (double)(3.14159 * 2.0) / (double)nDataSum;	// 每度相當于多少數值

	UINT nColor[] = {RGB(0,0,0), RGB(64, 64, 64), RGB(128, 128, 128), RGB(160, 160, 160),
					RGB(192, 192, 192), RGB(224, 224, 224)};
	int nIndex = 0, x, y;
	CPoint pt1 = rcDraw.CenterPoint(), pt2;
	pt1.x = rcDraw.right;

	CFont cf;	
	cf.CreateFontIndirect(&m_lfData); 
	CFont* oldfont = pDC->SelectObject(&cf);

	double dbDegree = 0;

	for (i=0; i<nDataNum; i++) 
	{
		nData = m_uDataArray.GetAt(i);
		dbDegree += (double)nData * dbPer;
		x = (int)((double)rcDraw.Width()/2.0 * cos(dbDegree));
		y = (int)((double)rcDraw.Width()/2.0 * sin(dbDegree));
		pt2 = rcDraw.CenterPoint() + CPoint(x,y);

		CBrush brush(nColor[nIndex]);
		CBrush* oldBrush = pDC->SelectObject(&brush);
		pDC->Pie(rcDraw, pt2, pt1);
		pDC->SelectObject(oldBrush);

		nIndex++;
		if (nIndex >= 6) nIndex = 0;
		pt1 = pt2;
	}

	pDC->SelectObject(oldfont);				// 恢復設備環境原來的屬性
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
97se亚洲国产综合自在线观| 国产成人在线免费| 久久久久综合网| 91在线精品秘密一区二区| 亚洲美女偷拍久久| 欧美一级欧美三级在线观看| 国产福利不卡视频| 亚洲午夜羞羞片| 国产亚洲精品bt天堂精选| 91久久一区二区| 国内精品免费在线观看| 亚洲激情男女视频| 久久影视一区二区| 欧美日韩高清一区二区不卡| 成人sese在线| 欧美日韩一卡二卡| 国产成人午夜精品影院观看视频 | 国产精品伊人色| 偷拍一区二区三区四区| 中文字幕中文字幕一区二区 | 国产一区二区三区免费看| 一级特黄大欧美久久久| 中文字幕精品一区二区三区精品| 7777精品伊人久久久大香线蕉经典版下载 | 国产婷婷精品av在线| 欧美一区二区福利视频| 在线观看日韩一区| 成人妖精视频yjsp地址| 国产一区二区0| 激情深爱一区二区| 日韩在线一二三区| 亚洲国产乱码最新视频 | 亚洲激情图片一区| 日韩一区欧美小说| 风间由美一区二区三区在线观看 | 五月激情六月综合| 一区二区三区四区不卡在线| 欧美激情一区二区三区全黄| 精品国产麻豆免费人成网站| 欧美精品在线一区二区三区| 欧美日韩五月天| 在线亚洲一区二区| 99久久er热在这里只有精品15| 国产成人免费视| 成人爱爱电影网址| 91一区二区三区在线播放| 国产成人免费视频精品含羞草妖精| 狠狠色丁香久久婷婷综| 久久精品国产99久久6| 日本女优在线视频一区二区| 日韩高清欧美激情| 久久69国产一区二区蜜臀| 韩国精品一区二区| 高清不卡在线观看| 一本色道久久综合亚洲精品按摩| 一本大道久久a久久精品综合| 色悠悠久久综合| 在线播放日韩导航| 久久久久高清精品| 一区二区三区四区在线| 午夜欧美大尺度福利影院在线看| 日本成人在线网站| 国产一区二区三区香蕉| 成人av手机在线观看| 欧美三级日韩三级国产三级| 日韩久久久久久| 1000精品久久久久久久久| 一二三区精品福利视频| 精品制服美女久久| 91香蕉视频污在线| 日韩欧美黄色影院| 亚洲精品视频在线观看免费| 视频一区视频二区中文字幕| 国产成人av福利| 欧美精品欧美精品系列| 欧美激情综合在线| 香蕉久久夜色精品国产使用方法 | 91九色最新地址| 国产女人18水真多18精品一级做 | 高清beeg欧美| 欧美日本精品一区二区三区| 国产精品美女久久久久av爽李琼| 一二三区精品福利视频| 成人av先锋影音| 精品国产露脸精彩对白| 日韩黄色在线观看| 日本韩国精品一区二区在线观看| 久久伊人蜜桃av一区二区| 久久不见久久见免费视频1 | 中文字幕永久在线不卡| 国产99久久久久| 日韩欧美国产1| 日产国产欧美视频一区精品 | 99re在线精品| 国产日韩欧美制服另类| 精品一区二区三区免费播放| 欧美日韩国产不卡| 亚洲午夜视频在线| 一本大道久久a久久综合| 国产精品久久久久aaaa| 成人黄色网址在线观看| 国产日韩欧美a| 成人午夜av在线| 中文字幕一区视频| 91在线视频网址| 国产精品福利av| 成人高清av在线| 亚洲在线中文字幕| 欧美三级在线看| 中文字幕中文字幕在线一区 | 久久久99精品免费观看| 成人国产精品免费观看视频| 亚洲欧美自拍偷拍色图| 91日韩一区二区三区| 亚洲国产精品精华液网站| 欧美一区二区啪啪| 成人少妇影院yyyy| 亚洲国产一区二区视频| 久久在线免费观看| 91蜜桃免费观看视频| 亚洲综合小说图片| 精品福利在线导航| 欧美日韩一区二区三区视频| 老司机免费视频一区二区三区| 精品国产免费视频| av午夜精品一区二区三区| 亚洲综合一二区| 精品国产髙清在线看国产毛片| av午夜一区麻豆| 日本人妖一区二区| 亚洲男人的天堂av| 久久久久久一二三区| 欧美日韩一级二级| 不卡欧美aaaaa| 国产一区二区三区免费看 | 亚洲午夜日本在线观看| 欧美男男青年gay1069videost | 蜜桃91丨九色丨蝌蚪91桃色| 国产色产综合色产在线视频| 欧美视频一区二区三区四区 | 国产精品1024久久| 日韩高清一级片| 一区二区三区日本| 亚洲国产成人在线| 日韩一区二区三区免费看| 91论坛在线播放| 国产成人免费视频| 国产最新精品免费| 日韩在线卡一卡二| 亚洲国产成人va在线观看天堂| 中文欧美字幕免费| 2023国产精华国产精品| 91.成人天堂一区| 91成人在线观看喷潮| 99r国产精品| 成人h动漫精品| 成人不卡免费av| 99精品欧美一区二区蜜桃免费 | 国产亚洲污的网站| 欧美精品一区二区久久婷婷| 欧美成人精品1314www| 欧美一区二区免费| 精品国产伦一区二区三区免费| 欧美电影免费观看高清完整版在线| 欧美裸体一区二区三区| 欧美在线影院一区二区| 欧美视频在线观看一区| 欧美日韩三级视频| 欧美日本韩国一区二区三区视频| 欧美三级视频在线| 91精品国产色综合久久不卡蜜臀| 在线播放日韩导航| 久久老女人爱爱| 亚洲丝袜自拍清纯另类| 自拍偷在线精品自拍偷无码专区| 亚洲欧美经典视频| 亚洲午夜激情av| 麻豆精品新av中文字幕| 国产在线播放一区二区三区| 国产成人精品www牛牛影视| 成人中文字幕合集| 色婷婷综合激情| 欧美一区二区三区男人的天堂| 日韩欧美一区在线观看| 久久久国产精品麻豆 | 欧美日韩国产高清一区二区三区| 日韩一区二区三区视频在线观看| 久久久久久久综合日本| 国产精品国产三级国产有无不卡| 亚洲精选视频免费看| 日韩av中文字幕一区二区| 国产精品影视在线观看| 在线亚洲高清视频| 日韩精品一区二区三区swag| 成人免费在线观看入口| 午夜av一区二区| 本田岬高潮一区二区三区| 欧美精品一卡二卡| 国产精品美女久久久久av爽李琼| 日韩制服丝袜av|