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

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

?? digitaldevice.cpp

?? 我用VC6給別人編寫的倒計時
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
/////////////////////////////////////////////////////////
//			數碼式測量設備DigitalDevice封裝類
//	版本:1.06
//	最后修改日期:2002.1.25
/////////////////////////////////////////////////////////

// DigitalDevice.cpp : implementation file
//

#include "stdafx.h"
#include "DigitalDevice.h"

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

/////////////////////////////////////////////////////////////////////////////
// DigitalDevice


/////////////////////////////////////////////////////////////////////////////////////////
//函數名:DigitalDevice(CWnd *parent)
//輸入參數:父窗口的指針
//返回值:無
//作用:構造函數,初始化變量的值,創建并顯示對象
DigitalDevice::DigitalDevice(CWnd *parent)
{
	//初始化字模數組
	const UINT font[FONT_MAXNUM][FONT_LENGTH]=
	{
		1, 1, 0, 1, 1, 1, 1, 0,	0,		//0
		0, 0, 0, 0, 0, 1, 1, 0,	0,		//1
		1, 0, 1, 1, 1, 0, 1, 0,	0,		//2
		1, 0, 1, 0, 1, 1, 1, 0,	0,		//3
		0, 1, 1, 0, 0, 1, 1, 0,	0,		//4
		1, 1, 1, 0, 1, 1, 0, 0,	0,		//5
		1, 1, 1, 1, 1, 1, 0, 0,	0,		//6
		1, 1, 0, 0, 0, 1, 1, 0,	0,		//7
		1, 1, 1, 1, 1, 1, 1, 0,	0,		//8
		1, 1, 1, 0, 1, 1, 1, 1,	0,		//9
		0, 0, 0, 0, 0, 0, 0, 1,	0,		//小數點
		0, 0, 0, 0, 0, 0, 0, 0,	1,		//冒號
		0, 0, 1, 0, 0, 0, 0, 0,	0,		//負號
		0, 0, 0, 0, 0, 0, 0, 0,	0		//空格
	};	
	memcpy(DD_Font, font, sizeof(DD_Font));
	
	DD_Width = 210;		//設置儀表的大小
	DD_Height = 55;		

	DD_CharWidth = 21;	//設置顯示字體的大小和顯示樣式
	DD_CharHeight = 40;
	DD_CharThick = 3;
	DD_CharSpace = 3;

	DD_Bits = 8;	//默認采用6位數碼管

	DD_CurrentNumber = 0;	//默認要顯示的數字是0
/*	
	SYSTEMTIME tm;			//默認要顯示的字符串是本機的時間
	GetLocalTime(&tm);
	DD_CurrentString.Format("%02d:%02d:%02d", tm.wHour, tm.wMinute, tm.wSecond);	
*/
	DD_CurrentString.Format("%02d:%02d:%02d", 00, 0, 0);
	DD_BorderLeft = 1;		//默認設置四周邊框都要繪制
	DD_BorderRight = 1;
	DD_BorderTop = 1;
	DD_BorderBottom = 1;

	DD_BorderWidth = 3;	//默認的邊框寬度

	DD_BdLightColor = RGB(255, 255, 255);	//默認邊界顏色
	DD_BdDarkColor = RGB(100, 100, 100);

	DD_TextPos.x = 10;	//設置文字的默認位置
	DD_TextPos.y = 7;

	DD_BkColor = RGB(0, 0, 0);				//設置儀表的背景顏色為黑色
	DD_TextLightColor = RGB(0, 255, 0);		//設置默認的字體亮顏色
	DD_TextDarkColor = GetNextColor(DD_TextLightColor, 0.3);//設置默認的字體暗顏色
	
	DD_WorkMode = DD_STRING;	//默認的工作方式

	DD_Status = DD_WORK;	//默認儀表狀態

	
	//創建相應的靜態控件并且顯示
	CRect rect;			
	rect.left = rect.top = 0;
	rect.bottom = DD_Height - 1; 
	rect.right = DD_Width - 1;
	Create(NULL, WS_CHILD | WS_VISIBLE | SS_NOTIFY, rect, parent);	

	SetTimer(1, 500, NULL);	//設置自檢時使用的計時器
}

DigitalDevice::~DigitalDevice()
{
	KillTimer(1);
}


BEGIN_MESSAGE_MAP(DigitalDevice, CStatic)
	//{{AFX_MSG_MAP(DigitalDevice)
	ON_WM_PAINT()
	ON_WM_TIMER()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// DigitalDevice message handlers


/////////////////////////////////////////////////////////////////////////////////////////
//函數名:OnPaint() 
//輸入參數:無
//返回值:無
//作用:重載函數,繪制整個儀表的界面
void DigitalDevice::OnPaint() 
{
	CPaintDC dc(this); // device context for painting

	// TODO: Add your message handler code here
	DrawFace();		
	// Do not call CStatic::OnPaint() for painting messages
}


/////////////////////////////////////////////////////////////////////////////////////////
//函數名:DrawFace()
//輸入參數:無
//返回值:無
//作用:繪制整個儀表的界面
void DigitalDevice::DrawFace()
{
	int i;
	CClientDC dc(this);
	CBitmap bmpc;
	bmpc.CreateCompatibleBitmap(&dc, DD_Width, DD_Height);	//創建與系統兼容的位圖
	BITMAP bmp;
	bmpc.GetBitmap(&bmp);
	
	//繪制儀表的背景色
	CDC dcmem;	
	dcmem.CreateCompatibleDC(&dc);
	CBitmap * pbitmapold = (CBitmap *)dcmem.SelectObject(&bmpc);
	CBrush brush;
	brush.CreateSolidBrush(DD_BkColor);
	CBrush * pbrushold = (CBrush *)dcmem.SelectObject(&brush);
	dcmem.SelectStockObject(NULL_PEN);
	dcmem.Rectangle(0, 0, bmp.bmWidth + 1, bmp.bmHeight + 1);
	dcmem.SelectObject(pbrushold);
	brush.DeleteObject();

	//繪制儀表的邊框
	brush.CreateSolidBrush(DD_BdDarkColor);
	pbrushold = (CBrush *)dcmem.SelectObject(&brush);
	if(DD_BorderTop)
		dcmem.Rectangle(0, 0, DD_Width + 1, DD_BorderWidth);
	if(DD_BorderLeft)
		dcmem.Rectangle(0, 0, DD_BorderWidth, DD_Height + 1);
	dcmem.SelectObject(pbrushold);
	brush.DeleteObject();
	brush.CreateSolidBrush(DD_BdLightColor);
	pbrushold = (CBrush *)dcmem.SelectObject(&brush);
	if(DD_BorderBottom)
		dcmem.Rectangle(0, DD_Height - DD_BorderWidth +1, DD_Width + 1, DD_Height + 1);
	if(DD_BorderRight)
		dcmem.Rectangle(DD_Width - DD_BorderWidth + 1, 0, DD_Width + 1, DD_Height + 1);
	dcmem.SelectObject(pbrushold);
	brush.DeleteObject();
	
	//繪制要顯示的文字
	CString text;
	CString tmp, format;
	if(DD_WorkMode == DD_NUMBER)	//數值模式
	{
		tmp.Format("%d", (int)DD_CurrentNumber);
		int tmplen = DD_Bits - tmp.GetLength();
		if(tmplen >= 0)
		{
			format.Format("%%%d.%dlf", tmplen, tmplen);
			text.Format(format, DD_CurrentNumber);
		}
		else
		{
			text = "";
			UINT j;
			for(j = 0; j < DD_Bits; j ++)
				text += ".";
		}
	}
	else	//字符串模式
	{
		format.Format("%%%ds", DD_Bits);
		text.Format(format, DD_CurrentString);

	}
	char curc;
	for(i = 0; i < (int)DD_Bits; i ++)
	{
		curc = text.GetAt(i);
		PutChar(&dcmem, '8', DD_TextPos.x + i * (DD_CharWidth + DD_CharSpace), DD_TextPos.y, DD_TextDarkColor);	//繪制背景的8字形暗圖案
		PutChar(&dcmem, curc, DD_TextPos.x + i * (DD_CharWidth + DD_CharSpace), DD_TextPos.y, DD_TextLightColor);	//繪制點亮的字
	}

	//將內存DC的內容一次畫在屏幕DC上
	dc.BitBlt(0, 0, bmp.bmWidth, bmp.bmHeight, &dcmem, 0, 0, SRCCOPY);

 	dcmem.SelectObject(pbitmapold);
	bmpc.DeleteObject();
	
	dcmem.DeleteDC();
}


/////////////////////////////////////////////////////////////////////////////////////////
//函數名:DD_MoveWindow(int x, int y)
//輸入參數:儀表左上角的坐標
//返回值:無
//作用:移動儀表窗口,移動后自動完成重畫
void DigitalDevice::DD_MoveWindow(int x, int y)
{
	CRect rect;
	GetWindowRect(&rect);
	MoveWindow(x, y, rect.Width(), rect.Height(), true);
}


/////////////////////////////////////////////////////////////////////////////////////////
//函數名:PutChar(char c, int pos_x, int pos_y, RGBCOLOR color)
//輸入參數:要繪制的dc的指針,要繪制的字符,字符的坐標值pos_x, pos_y, 繪制文字的顏色(用RGBCOLOR結構體變量)
//返回值:無
//作用:該函數在儀表界面上指定位置繪制一個字符
void DigitalDevice::PutChar(CDC *dc, char c, int pos_x, int pos_y, COLORREF color)
{
	int index, i;
	CPen pen, *ppenold;
	CBrush brush, *pbrushold;

	pen.CreatePen(PS_SOLID, 1, color);
	ppenold = (CPen *)dc->SelectObject(&pen);
	brush.CreateSolidBrush(color);
	pbrushold = (CBrush *)dc->SelectObject(&brush);

	if(c == '.')
		index = 10;
	else if(c == ':')
		index = 11;
	else if(c == '-')
		index = 12;
	else if(c == ' ')
		index = 13;
	else
		index = atoi(&c);
	for(i = 0; i < FONT_LENGTH; i ++)	//遍歷對應字的所有筆劃,找出要繪制的筆劃并繪制之
	{
		if(DD_Font[index][i])	//如果對應的筆劃為1(需要繪制)
		{
			switch(i)	//根據i的具體位置在不同部位畫筆劃
			{
			case 0:	
				dc->Rectangle(pos_x + DD_CharThick, pos_y, pos_x + DD_CharWidth - DD_CharThick, pos_y + DD_CharThick);
				break;
			case 1:		
				dc->Rectangle(pos_x, pos_y + DD_CharThick, pos_x + DD_CharThick, pos_y + (DD_CharHeight - DD_CharThick) / 2);
				break;
			case 2:		
				dc->Rectangle(pos_x + DD_CharThick, pos_y + (DD_CharHeight - DD_CharThick) / 2, pos_x + DD_CharWidth - DD_CharThick, pos_y + (DD_CharHeight - DD_CharThick) / 2 + DD_CharThick);
				break;
			case 3:		
				dc->Rectangle(pos_x, pos_y + DD_CharThick + (DD_CharHeight - DD_CharThick) / 2, pos_x + DD_CharThick, pos_y + DD_CharHeight - DD_CharThick);
				break;
			case 4:
				dc->Rectangle(pos_x + DD_CharThick, pos_y + DD_CharHeight - DD_CharThick, pos_x + DD_CharWidth - DD_CharThick, pos_y + DD_CharHeight - DD_CharThick + DD_CharThick);
				break;
			case 5:	
				dc->Rectangle(pos_x + DD_CharWidth - DD_CharThick, pos_y + DD_CharThick + (DD_CharHeight - DD_CharThick) / 2, pos_x + DD_CharWidth, pos_y + DD_CharHeight - DD_CharThick);
				break;
			case 6:		
				dc->Rectangle(pos_x + DD_CharWidth - DD_CharThick, pos_y + DD_CharThick, pos_x + DD_CharWidth, pos_y + (DD_CharHeight - DD_CharThick) / 2);
				break;
			case 7:	
				dc->Rectangle(pos_x + (DD_CharWidth - DD_CharThick) / 2, pos_y + DD_CharHeight - DD_CharThick, pos_x + (DD_CharWidth - DD_CharThick) / 2 + DD_CharThick, pos_y + DD_CharHeight);
				break;
			case 8:	
				dc->Rectangle(pos_x + (DD_CharWidth - DD_CharThick) / 2, pos_y + (DD_CharHeight - DD_CharThick) / 4, pos_x + (DD_CharWidth - DD_CharThick) / 2 + DD_CharThick, pos_y + DD_CharThick + (DD_CharHeight - DD_CharThick) / 4);
				dc->Rectangle(pos_x + (DD_CharWidth - DD_CharThick) / 2, pos_y + DD_CharHeight - (DD_CharHeight - DD_CharThick) / 4 - DD_CharThick, pos_x + (DD_CharWidth - DD_CharThick) / 2 + DD_CharThick, pos_y + DD_CharHeight - (DD_CharHeight - DD_CharThick) / 4);
				break;
			default:
				break;
			}
		}
	}

	dc->SelectObject(ppenold);
	pen.DeleteObject();
	dc->SelectObject(pbrushold);
	brush.DeleteObject();
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品污污网站免费看| 亚洲综合色在线| 91精品在线观看入口| 欧美亚洲日本国产| 91色在线porny| 9色porny自拍视频一区二区| 国产一区二区三区免费看| 日韩精品一区第一页| 午夜精品久久久久| 日日夜夜免费精品视频| 爽好多水快深点欧美视频| 亚洲成人资源网| 日韩国产精品久久久久久亚洲| 天天色 色综合| 麻豆91免费观看| 国产乱人伦偷精品视频免下载| 国产老肥熟一区二区三区| 丁香亚洲综合激情啪啪综合| 99精品桃花视频在线观看| 日本韩国一区二区| 欧美精品tushy高清| 久久亚洲欧美国产精品乐播| 中文字幕欧美三区| 亚洲香肠在线观看| 韩国三级在线一区| jizzjizzjizz欧美| 在线不卡免费欧美| 欧美日韩国产影片| 精品处破学生在线二十三| 国产精品久久久99| 无码av中文一区二区三区桃花岛| 性做久久久久久免费观看| 韩国欧美一区二区| 欧洲精品一区二区| 欧美丰满少妇xxxxx高潮对白 | 久久久精品黄色| 国产精品久久三| 亚洲图片另类小说| 丝袜诱惑制服诱惑色一区在线观看| 奇米四色…亚洲| 国产成人综合精品三级| 欧美视频在线播放| 3atv一区二区三区| 亚洲欧美在线视频| 丝袜诱惑制服诱惑色一区在线观看| 国产在线精品免费| 成人黄色av网站在线| 欧美三级视频在线观看 | 亚洲国产精品一区二区久久恐怖片| 亚洲一区二区三区不卡国产欧美| 秋霞影院一区二区| 黑人巨大精品欧美一区| 91麻豆国产在线观看| 日韩欧美一区二区免费| 亚洲女人小视频在线观看| 美国一区二区三区在线播放| 99re热视频这里只精品| 亚洲精品在线观看视频| 五月天视频一区| 97se亚洲国产综合自在线不卡| 日韩欧美电影一二三| 亚洲成人动漫av| 国产一区日韩二区欧美三区| 欧美日韩电影一区| 亚洲综合免费观看高清完整版| 丁香婷婷综合激情五月色| 亚洲精品一区二区三区99| 香蕉加勒比综合久久| 国产精品亚洲一区二区三区在线| 精品视频在线看| 亚洲成av人片在线观看无码| 99re热视频这里只精品| 亚洲日本在线天堂| 91蝌蚪国产九色| 亚洲免费视频中文字幕| 色综合欧美在线视频区| 亚洲日韩欧美一区二区在线| heyzo一本久久综合| 亚洲猫色日本管| 色网站国产精品| 亚洲精品国产精品乱码不99| 国产不卡在线播放| 中文av一区二区| 福利91精品一区二区三区| 久久综合九色综合97婷婷| 国产一区激情在线| 国产亚洲成年网址在线观看| 国产东北露脸精品视频| 国产精品久久久久久久午夜片| 成人福利视频在线| 樱花草国产18久久久久| 欧美高清视频一二三区| 久久se精品一区二区| 亚洲国产精品二十页| 91在线视频播放| 一区二区三区在线播放| 欧美精品免费视频| 国产一区欧美二区| 中文字幕日本乱码精品影院| 99热这里都是精品| 午夜精品久久久久久久久| 欧美电影免费观看高清完整版 | 欧美系列在线观看| 亚洲高清视频的网址| 欧美成人精品二区三区99精品| 国产一区二区三区美女| 中文字幕一区在线观看| 欧美色手机在线观看| 精品无人区卡一卡二卡三乱码免费卡| 2020国产精品| 色狠狠色狠狠综合| 国产一区二区三区电影在线观看 | 亚洲妇熟xx妇色黄| 日韩一区二区三区电影| 国产成人在线电影| 图片区日韩欧美亚洲| 国产欧美日韩另类一区| 色94色欧美sute亚洲13| 免费高清在线视频一区·| 亚洲欧洲一区二区在线播放| 欧美一区二区二区| 97se亚洲国产综合自在线| 国产在线一区观看| 图片区小说区区亚洲影院| 国产精品网站一区| 日韩片之四级片| 色婷婷av一区二区三区软件| 国产盗摄精品一区二区三区在线| 亚洲成av人在线观看| 亚洲视频狠狠干| 久久精品欧美日韩精品| 欧美一二三区在线观看| 在线观看av一区二区| eeuss鲁片一区二区三区| 国产一区二区三区电影在线观看| 亚洲综合自拍偷拍| 最新日韩在线视频| 久久久精品日韩欧美| 欧美电影免费提供在线观看| 欧美日韩成人综合在线一区二区| 成人av在线观| 国产成人免费视频网站 | 一区二区三区高清不卡| 国产午夜亚洲精品午夜鲁丝片| 欧美一级在线免费| 欧美日本在线观看| 在线观看av一区二区| 成人午夜视频免费看| 国产在线播放一区三区四| 日本女人一区二区三区| 五月婷婷综合在线| 视频一区二区不卡| 天天操天天干天天综合网| 亚洲一区二区三区爽爽爽爽爽| 亚洲图片激情小说| 亚洲色图.com| 专区另类欧美日韩| 国产精品国产三级国产专播品爱网| 国产午夜精品久久| 欧美激情综合在线| 国产精品久久久久国产精品日日| 久久精品视频一区二区三区| 久久久三级国产网站| 国产亚洲综合在线| 日本一区免费视频| 亚洲嫩草精品久久| 亚洲成国产人片在线观看| 日韩高清在线观看| 久久av资源网| 成人aaaa免费全部观看| 91在线视频观看| 欧美日韩国产首页| 精品国偷自产国产一区| 国产日韩欧美综合一区| 国产精品免费观看视频| 亚洲品质自拍视频| 视频一区视频二区中文| 狠狠色丁香久久婷婷综合丁香| 国产成人精品免费视频网站| 97se亚洲国产综合自在线观| 欧美日韩亚洲综合| 久久综合99re88久久爱| 亚洲欧美另类在线| 麻豆极品一区二区三区| 成人性视频网站| 欧美午夜在线一二页| 久久综合九色综合欧美就去吻| 中文字幕一区二区5566日韩| 天堂在线亚洲视频| 国产一区二区三区精品视频| 国产v日产∨综合v精品视频| 日本精品一区二区三区高清| 欧美mv日韩mv国产网站app| 国产日韩在线不卡| 图片区小说区区亚洲影院| 国产69精品一区二区亚洲孕妇| 欧美日韩国产高清一区二区 | 国产高清视频一区| 欧美特级限制片免费在线观看| 久久综合久久鬼色|