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

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

?? cdrawlineargauge.cpp

?? 一個wince下畫趨勢曲線的控件
?? CPP
字號:
// CDrawLinearGauge.cpp: implementation of the CDrawLinearGauge class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "CDrawLinearGauge.h"

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

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CDrawLinearGauge::CDrawLinearGauge()
{
	m_Orientation=1;
	m_Style=1;
	m_rulerStyle=0;
	m_rect.left=0;
	m_rect.top=0;
	m_rect.bottom=0;
	m_rect.right=0;
	m_rulerRect=m_rect;
	m_frameRect=m_rect;
	m_iMax=0;
	m_iMin=0;
	m_imajortics=0;
	m_iminortics=0;
	Visibled=1;
}

CDrawLinearGauge::~CDrawLinearGauge()
{

}

void CDrawLinearGauge::SetVisibled(int iFlag)
{
	Visibled=iFlag;
}

int CDrawLinearGauge::GetVisibled()
{
	return Visibled;
}

void CDrawLinearGauge::SetStyle(long Style,long Orientation,long rulerStyle)
{
	m_Style = Style;
	m_Orientation = Orientation;
	m_rulerStyle = rulerStyle;
}

void CDrawLinearGauge::SetRect(RECT rc)
{
	m_rect = rc;
	/*m_rect.top = m_rect.top +30;
	m_rect.left = m_rect.left +30;
	m_rect.right = m_rect.right -30;
	m_rect.bottom = m_rect.bottom -30;*/

	m_frameRect=m_rect;
	m_rulerRect = m_frameRect;
	

	if(m_Orientation==0)//0:Horizontal,1:Vertical
	{
		//m_rect.left = m_rect.left+20;
		//m_rect.right = m_rect.right-20;
		switch(m_rulerStyle)//0不顯示,1左/上,2右/下,3左右/上下,4,中/左,5,中/右
		{
		case 0:
			m_frameRect=m_rect;
			break;
		case 1:
			m_rulerRect=m_rect;
			m_rulerRect.bottom = (m_rect.bottom+m_rect.top)/2;
			
			m_frameRect=m_rect;
			m_frameRect.top = (m_rect.bottom+m_rect.top)/2;
			break;
		case 2:
			
			m_frameRect=m_rect;
			m_frameRect.bottom = (m_rect.bottom+m_rect.top)/2;
			
			m_rulerRect=m_rect;
			m_rulerRect.top = (m_rect.bottom+m_rect.top)/2;
			break;
		case 3:
			break;
		case 4:
		case 5:
			m_frameRect=m_rect;
			m_rulerRect=m_rect;
			break;
		}
	}
	else if(m_Orientation==1)//0:Horizontal,1:Vertical
	{
		m_rect.top = m_rect.top;
		//m_rect.bottom = m_rect.bottom-20;
		switch(m_rulerStyle)//0不顯示,1左/上,2右/下,3左右/上下,4,中/左,5,中/右
		{
		case 0:
			m_frameRect=m_rect;
			break;

		case 1:
			m_rulerRect=m_rect;
			m_rulerRect.right = (m_rect.left+m_rect.right)/2;
			
			m_frameRect=m_rect;
			m_frameRect.left = (m_rect.left+m_rect.right)/2;
			break;

		case 2:
			m_frameRect=m_rect;
			m_frameRect.right = (m_rect.left+m_rect.right)/2;

			m_rulerRect=m_rect;
			m_rulerRect.left = (m_rect.left+m_rect.right)/2;
			break;

		case 3:
			break;
		case 4:
		case 5:
			m_rulerRect=m_rect;
			m_frameRect=m_rect;
			break;
		}
	}
}

void CDrawLinearGauge::Draw(HDC hdc)
{
	if(Visibled==1)
	{
		DrawFrame(hdc);
		DrawValueFrame(hdc);
		DrawRuler(hdc);
	}
}

int CDrawLinearGauge::GetValueCount()
{
	return m_ArraryValue.GetSize();
}

void CDrawLinearGauge::GetRect(RECT *rc)
{ 
	rc = &m_rect; 
}

void CDrawLinearGauge::SetFrame(COLORREF frameColor,COLORREF bkColor)
{
	m_frameColor = frameColor;
	m_bkColor = bkColor;
}

void CDrawLinearGauge::DrawFrame(HDC hdc)
{
	RECT rect = m_frameRect;
	HPEN hPen = CreatePen(PS_SOLID,1,m_frameColor);
	HBRUSH hBrush = CreateSolidBrush(m_bkColor);
	SelectObject(hdc,hPen);
	FillRect (hdc, &rect, hBrush) ;
	MoveToEx(hdc,rect.left,rect.top,NULL);
	LineTo(hdc,rect.right,rect.top);
	LineTo(hdc,rect.right,rect.bottom);
	LineTo(hdc,rect.left,rect.bottom);
	LineTo(hdc,rect.left,rect.top);
	DeleteObject (hBrush);
	DeleteObject (SelectObject (hdc, GetStockObject (BLACK_PEN))) ;
}

void CDrawLinearGauge::SetMaxMin(long iMax,long iMin)
{
	m_iMax=iMax;
	m_iMin=iMin;
}

long CDrawLinearGauge::GetMax()
{
	return m_iMax;
}

long CDrawLinearGauge::GetMin()
{
	return m_iMin;
}

void CDrawLinearGauge::SetRuler(long iMax,long iMin,long imajortics,long iminortics,COLORREF majorticsColor,COLORREF minorticsColor,COLORREF rulerFontColor)
{
	m_iMax=iMax;
	m_iMin=iMin;
	m_imajortics=imajortics;
	m_iminortics=iminortics;
	m_majorticsColor=majorticsColor;
	m_minorticsColor=minorticsColor;
	m_rulerFontColor=rulerFontColor;
}

void CDrawLinearGauge::DrawRuler(HDC hdc)
{
	HPEN hPen;
	CString strimajorscale;
	int i=0;
	int y1=0;
	int y2=0;
	int n=0;
	int x1=0;
	int x2=0;
	
	CRect rect = m_rulerRect;

	if(m_Orientation==0)//0:Horizontal
	{
		n = m_imajortics * m_iminortics;
		y1 = rect.top + 1;
		y2 = rect.bottom - 2;
		int imajorscale = (m_iMax - m_iMin) / m_imajortics;

		int iTemp=0;//=m_iMin/imajorscale;
		for (i = 0; i <= n; i++)
		{
			int x = rect.left + i * rect.Width() / n;
			
			if ((i % m_iminortics) == 0)
			{
				hPen = CreatePen(PS_SOLID,1,m_majorticsColor);
				SelectObject(hdc,hPen);
				
				SetBkMode(hdc,TRANSPARENT);
				SetTextColor(hdc,m_rulerFontColor);
				strimajorscale.Format(_T("%d"),m_iMin + imajorscale*iTemp); 
				//DrawText(hdc,strimajorscale,strimajorscale.GetLength(),CRect(x, y1,x+20,y1+20), DT_LEFT | DT_SINGLELINE | DT_VCENTER);
				DrawText(hdc,strimajorscale,strimajorscale.GetLength(),CRect(x-30, y1,x+30,y2), DT_CENTER | DT_SINGLELINE | DT_VCENTER);
				//TextOut(*m_pDC,x, y1,strimajorscale,strimajorscale.GetLength());
				iTemp++;

				MoveToEx(hdc,x, y1+20,NULL);
				LineTo(hdc,x, y2);
				DeleteObject (SelectObject (hdc, GetStockObject (BLACK_PEN))) ;
			}
			else
			{
				//hPen = CreatePen(PS_SOLID,1,m_iminortics);
				//SelectObject(hdc,hPen);
			}
		}
	}
	else if(m_Orientation==1)//1:Vertical
	{
		n = m_imajortics * m_iminortics;
		x1 = rect.left + 1;
		x2 = rect.right - 2;
		int imajorscale = (m_iMax - m_iMin) / m_imajortics;
		int iTemp=0;//m_iMin/imajorscale;
		for (i = 0; i <= n; i++)
		{
			int y = rect.bottom - i * rect.Height() / n;
			
			if ((i % m_iminortics) == 0)
			{
				hPen = CreatePen(PS_SOLID,1,m_majorticsColor);
				SelectObject(hdc,hPen);
				
				SetBkMode(hdc,TRANSPARENT);
				SetTextColor(hdc,m_rulerFontColor);
				strimajorscale.Format(_T("%d"),m_iMin + imajorscale*iTemp);
				DrawText(hdc,strimajorscale,strimajorscale.GetLength(),CRect(x1, y,x2,y+20), DT_CENTER | DT_SINGLELINE | DT_VCENTER);
				iTemp++;

				MoveToEx(hdc,x1, y,NULL);
				LineTo(hdc,x2-20, y);
				DeleteObject (SelectObject (hdc, GetStockObject (BLACK_PEN))) ;
			}
			else
			{
				//hPen = CreatePen(PS_SOLID,1,m_iminortics);
				//SelectObject(hdc,hPen);
			}
		}
	}
}

void CDrawLinearGauge::SetValueCount(int iCount)
{
	m_ArraryValue.SetSize(iCount);
}

void CDrawLinearGauge::SetValueFrame(int index,COLORREF valueframeColor,COLORREF valuebkColor,long value)
{
	m_valueframeColor = valueframeColor;
	m_valuebkColor = valuebkColor;
	m_ArraryValue[index]=value;
}

void CDrawLinearGauge::SetFrame(int index,COLORREF valueframeColor,COLORREF valuebkColor)
{
	m_valueframeColor = valueframeColor;
	m_valuebkColor = valuebkColor;
}

void CDrawLinearGauge::SetFrameValue(int index,long value)
{
	m_ArraryValue[index]=value;
}

long CDrawLinearGauge::GetValue(int index)
{
	return m_ArraryValue[index];
}

void CDrawLinearGauge::DrawValueFrame(HDC hdc)
{
	CRect rect = m_frameRect;
	RECT rc= m_frameRect;

	long lTemp=0;
	
	if(m_Style == 1)//1標尺
	{
		if(m_Orientation == 0)//0:Horizontal
		{	
			for(long i=0;i<m_ArraryValue.GetSize();i++)
			{
				lTemp = m_ArraryValue[i]-m_iMin;
				if(lTemp<=0)	lTemp=0;

				long x = rect.left + lTemp * rect.Width() / (m_iMax-m_iMin);
				if(m_ArraryValue.GetSize()==1)
				{
					HPEN hPen = CreatePen(PS_SOLID,1,m_valueframeColor);
					HBRUSH hBrush = CreateSolidBrush(m_valuebkColor);
					SelectObject(hdc,hPen);
					FillRect (hdc, &CRect(rect.left, rect.top, x, rect.bottom), hBrush) ;
					DeleteObject (hBrush);
					DeleteObject (SelectObject (hdc, GetStockObject (BLACK_PEN))) ;
				}
			}

		}
		else if(m_Orientation == 1)//1:Vertical
		{
			for(long i=0;i<m_ArraryValue.GetSize();i++)
			{
				//m_value = m_value-m_iMin;
				//m_ArraryValue[i] = m_ArraryValue[i]-m_iMin;
				lTemp = m_ArraryValue[i]-m_iMin;
				if(lTemp<=0)	lTemp=0;
				long y=0;
				if((m_iMax-m_iMin)<=0)
				{
					y = rect.bottom  - lTemp * rect.Height() / 1;
				}
				else
				{
					y = rect.bottom  - lTemp * rect.Height() / (m_iMax-m_iMin);
				}

				HPEN hPen = CreatePen(PS_SOLID,1,m_valueframeColor);
				HBRUSH hBrush = CreateSolidBrush(m_valuebkColor);

				SelectObject(hdc,hPen);
				rc.left = rect.left;
				rc.top = y;
				rc.right = rect.right;
				rc.bottom = rect.bottom;
				//FillRect(hdc, &rc,hBrush);
				if(y < rect.top)
				{
					y=rect.top-5;
				}
				FillRect (hdc, &CRect(rect.left+1, y, rect.right-1, rect.bottom-1), hBrush) ;
				DeleteObject (hBrush);
				DeleteObject (SelectObject (hdc, GetStockObject (BLACK_PEN))) ;
				
				CString str;
				str.Format(_T("%d"),i);
				::SetBkMode(hdc,OPAQUE);
				::SetBkColor(hdc,RGB(255,255,255)); 
				DrawText(hdc,str,str.GetLength(),CRect(rect.left,y,rect.left+20,y+20), DT_LEFT | DT_SINGLELINE | DT_VCENTER);


				/*if(m_ArraryValue.GetSize()==1)
				{
					HPEN hPen = CreatePen(PS_SOLID,1,m_valueframeColor);
					HBRUSH hBrush = CreateSolidBrush(m_valuebkColor);

					SelectObject(hdc,hPen);
					rc.left = rect.left;
					rc.top = y;
					rc.right = rect.right;
					rc.bottom = rect.bottom;
					//FillRect(hdc, &rc,hBrush);
					if(y < rect.top)
					{
						y=rect.top-5;
					}
					FillRect (hdc, &CRect(rect.left+1, y, rect.right-1, rect.bottom-1), hBrush) ;
					DeleteObject (hBrush);
					DeleteObject (SelectObject (hdc, GetStockObject (BLACK_PEN))) ;
				}
				else
				{
					rc.left = rect.left;
					rc.top = y;
					rc.right = rect.right;
					rc.bottom = rect.bottom;
					CString str;
					str.Format(_T("%d"),i);
					DrawText(hdc,str,str.GetLength(),CRect(rect.left,y,rect.left+20,y+20), DT_LEFT | DT_SINGLELINE | DT_VCENTER);
				}*/
			}
		}
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成a人v欧美综合天堂下载 | 久久婷婷一区二区三区| 国产亚洲自拍一区| 亚洲成av人片www| 国产一区二区三区国产| 欧美亚洲动漫另类| 国产欧美日韩视频在线观看| 99久久精品国产网站| 欧美日韩一级片在线观看| 国产片一区二区三区| 日韩电影免费一区| 日本高清不卡在线观看| 国产午夜精品理论片a级大结局| 天天免费综合色| 欧美日韩免费不卡视频一区二区三区| 久久一区二区视频| 奇米影视7777精品一区二区| 欧洲一区在线电影| 亚洲图片激情小说| 99久久国产综合色|国产精品| 久久九九国产精品| 国产一区二区在线观看视频| 日韩欧美色综合| 日本中文字幕一区二区有限公司| 日本高清成人免费播放| 亚洲欧美日韩综合aⅴ视频| 成人深夜视频在线观看| 国产欧美精品一区二区色综合朱莉| 美脚の诱脚舐め脚责91 | 久久国产精品一区二区| 欧美日韩国产经典色站一区二区三区| 国产精品久久久久国产精品日日| 国产一区欧美一区| 久久美女艺术照精彩视频福利播放| 日本午夜精品视频在线观看| 8x8x8国产精品| 图片区小说区国产精品视频| 欧美日韩专区在线| 日韩精品成人一区二区三区| 777a∨成人精品桃花网| 久久精品免费看| 日韩欧美成人午夜| 国产精品自在在线| 欧美国产视频在线| 懂色av一区二区夜夜嗨| 亚洲视频在线一区| 亚洲国产激情av| 波多野结衣在线aⅴ中文字幕不卡| 中文在线一区二区| 一本大道久久a久久精二百| 亚洲一区二区五区| 日韩一级二级三级| 国产高清久久久| 最近日韩中文字幕| 欧美福利视频一区| 国产精品一区二区果冻传媒| 一区视频在线播放| 欧美久久一二三四区| 精品一区二区三区免费视频| 中文字幕不卡在线观看| 在线观看www91| 精品系列免费在线观看| 亚洲天天做日日做天天谢日日欢| 欧美日韩亚州综合| 国产精品伊人色| 亚洲综合自拍偷拍| 精品久久久久一区二区国产| www.一区二区| 日韩中文字幕91| 中文字幕va一区二区三区| 精品视频一区二区不卡| 国产老女人精品毛片久久| 一区二区三区精品视频在线| 精品久久久久久综合日本欧美| 不卡av电影在线播放| 日韩二区三区在线观看| 中文字幕一区在线观看| 欧美一区二区三区日韩| 91在线看国产| 国产中文一区二区三区| 亚洲五月六月丁香激情| 久久免费电影网| 7777精品伊人久久久大香线蕉完整版| 欧美一级淫片007| 国产成人精品免费网站| 天天操天天干天天综合网| 中文字幕一区二区三区不卡| 日韩视频一区二区| 91黄色免费看| 成人在线综合网| 久久国产精品露脸对白| 亚洲国产精品一区二区久久| 国产欧美一区二区精品性色| 欧美一区二区私人影院日本| 日本乱码高清不卡字幕| 丁香激情综合五月| 国产中文字幕一区| 久久99精品久久久久婷婷| 午夜激情综合网| 亚洲自拍偷拍麻豆| 亚洲男人的天堂av| 中文字幕在线不卡| 国产精品国产三级国产aⅴ原创| 欧美一级精品在线| 69堂成人精品免费视频| 精品视频在线视频| 欧美日韩国产高清一区二区| 在线精品亚洲一区二区不卡| 99riav久久精品riav| 国产激情视频一区二区在线观看 | 欧美天堂一区二区三区| 色偷偷成人一区二区三区91| av电影在线观看完整版一区二区| 国产精品一区二区男女羞羞无遮挡| 免费的国产精品| 蜜臀av性久久久久蜜臀aⅴ四虎 | 久久久亚洲综合| 26uuu另类欧美亚洲曰本| 精品国产麻豆免费人成网站| 日韩一区二区视频| 欧美一级高清片在线观看| 日韩一区二区免费视频| 日韩欧美一卡二卡| 精品国产露脸精彩对白| 2020国产精品自拍| 中文字幕精品一区二区精品绿巨人 | 日本欧洲一区二区| 蜜臀av性久久久久蜜臀aⅴ四虎| 免费成人美女在线观看| 精品写真视频在线观看| 国产 日韩 欧美大片| 92国产精品观看| 欧美日本韩国一区| 精品国产免费一区二区三区四区| 精品国产百合女同互慰| 国产精品视频免费| 亚洲一区成人在线| 麻豆精品视频在线观看免费| 国产一区二区三区不卡在线观看 | 久久久久久久久久美女| 国产精品美女久久久久久| 一区二区三区免费看视频| 亚洲va欧美va天堂v国产综合| 日本免费新一区视频| 国产一区二区剧情av在线| 97se亚洲国产综合自在线不卡| 欧美日韩日日摸| 国产亚洲一区二区三区四区| 玉米视频成人免费看| 久久99国产精品免费网站| www.日韩在线| 欧美电影免费观看高清完整版在线观看| 国产日韩精品一区| 亚洲aⅴ怡春院| 国产91丝袜在线播放九色| 91电影在线观看| 久久久久一区二区三区四区| 亚洲综合免费观看高清完整版 | 欧美mv日韩mv国产| 欧美韩国一区二区| 麻豆freexxxx性91精品| 国产99久久久国产精品潘金| 色综合天天综合网天天狠天天| 欧美日韩激情一区二区三区| 国产午夜精品理论片a级大结局| 一区二区免费看| 国产99久久久久久免费看农村| 欧美日韩国产免费一区二区| 欧美极品另类videosde| 日韩影院在线观看| 91视频91自| 久久蜜桃香蕉精品一区二区三区| 亚洲一区二区三区免费视频| 成人在线视频一区二区| 欧美一区二区三区电影| 亚洲精品自拍动漫在线| 国产成人aaaa| 欧美一区二区三区公司| 亚洲一区在线视频| 成年人国产精品| 久久久久久日产精品| 午夜激情一区二区三区| 91久久人澡人人添人人爽欧美| 久久精品水蜜桃av综合天堂| 美腿丝袜亚洲色图| 欧美精品自拍偷拍| 亚洲一区视频在线| 91免费视频大全| 亚洲欧洲av一区二区三区久久| 国产一区二区精品在线观看| 欧美一区二区在线看| 午夜精品久久久久| 欧美这里有精品| 亚洲精品视频一区| 色综合一个色综合亚洲| 中文字幕一区免费在线观看| www.av精品| 最新高清无码专区| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 一级日本不卡的影视|