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

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

?? gradientstatic.cpp

?? 操作系統的應用。
?? CPP
字號:
// GradientStatic.cpp : implementation file
//

#include "stdafx.h"
#include "GradientStatic.h"

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

/////////////////////////////////////////////////////////////////////////////
// CGradientStatic
CPoint ta5[5];      //定義五個變量表示哲學家所在位置
CPoint tropic5[5];  //筷子閑置時的位置
CPoint usetropic[5];//筷子使用時的位置,每個哲學家用兩個筷子

int    radius;
CPoint CenterPoint;

CGradientStatic::CGradientStatic()
{
	m_iLeftSpacing = 10;
	clLeft = GetSysColor(COLOR_ACTIVECAPTION);
	clRight = GetSysColor(COLOR_BTNFACE);
	clText = GetSysColor(COLOR_CAPTIONTEXT);
	
	m_bCenter = FALSE;

	hinst_msimg32 = LoadLibrary( "msimg32.dll" );
	m_bCanDoGradientFill = FALSE;
	pFont = NULL;
	
	if(hinst_msimg32)
	{
		m_bCanDoGradientFill = TRUE;		
		dllfunc_GradientFill = ((LPFNDLLFUNC1) GetProcAddress( hinst_msimg32, "GradientFill" ));
	}

	m_RunBrush.CreateSolidBrush(RGB(255,0,0));
	m_IdleBrush.CreateSolidBrush(RGB(255,255,255));

	bmp1.LoadBitmap(IDB_BITMAP31);
	bmp2.LoadBitmap(IDB_BITMAP21);
	bmp3.LoadBitmap(IDB_BITMAP11);

	maskbmp1.LoadBitmap(IDB_BITMAPm31);
	maskbmp2.LoadBitmap(IDB_BITMAPm21);
	maskbmp3.LoadBitmap(IDB_BITMAPm11);

	zuomianbmp.LoadBitmap(IDB_BITMAPZM);
	m_back.CreatePatternBrush(&zuomianbmp);
	m_pen.CreatePen(PS_SOLID,4,RGB(255,255,255));

	


}

CGradientStatic::~CGradientStatic()
{
	FreeLibrary( hinst_msimg32 );

	bmp1.DeleteObject();
	bmp2.DeleteObject();
	bmp3.DeleteObject();

	maskbmp1.DeleteObject();
	maskbmp2.DeleteObject();
	maskbmp3.DeleteObject();

	m_back.DeleteObject();
	m_pen.DeleteObject();

}


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

/////////////////////////////////////////////////////////////////////////////
// CGradientStatic message handlers

void CGradientStatic::OnPaint() 
{
	CPaintDC dc(this); // device context for painting

	CRect rect;
	GetClientRect(&rect);

	static BOOL IsRgn = FALSE;

	

	if(m_bCanDoGradientFill)
	{
	
		TRIVERTEX rcVertex[2];
		rect.right--; // exclude this point, like FillRect does 
		rect.bottom--;
		rcVertex[0].x=rect.left;
		rcVertex[0].y=rect.top;
		rcVertex[0].Red=GetRValue(clLeft)<<8;	// color values from 0x0000 to 0xff00 !!!!
		rcVertex[0].Green=GetGValue(clLeft)<<8;
		rcVertex[0].Blue=GetBValue(clLeft)<<8;
		rcVertex[0].Alpha=0x0000;
		rcVertex[1].x=rect.right; 
		rcVertex[1].y=rect.bottom;
		rcVertex[1].Red=GetRValue(clRight)<<8;
		rcVertex[1].Green=GetGValue(clRight)<<8;
		rcVertex[1].Blue=GetBValue(clRight)<<8;
		rcVertex[1].Alpha=0;
		GRADIENT_RECT rect;
		rect.UpperLeft=0;
		rect.LowerRight=1;
		
		// fill the area 
		dllfunc_GradientFill( dc,rcVertex,2,&rect,1,GRADIENT_FILL_RECT_H);
		
		//if Gradient Fil works - let's use font color defined by user
		::SetTextColor(dc,clText);
	}
	else
	{
		//there is no gradient, so let's use standart color
		::SetTextColor(dc,GetSysColor(COLOR_BTNTEXT));
	}
	
	//int i;
	//CBrush *oldBrush;
	//dc.Polygon(ta5,5);
	int i;

	CPen *oldpen;
	//= (CPen*)dc.SelectObject(&m_pen);
	
	int x1,y1,x2,y2;
	int top,left,right,bottom;

	if(!IsRgn)
	{

		for(i = 0;i<5;i++)
		{
			/*dc.BeginPath();			
			dc.MoveTo(tropic5[i].x,tropic5[i].y);		
			dc.LineTo((tropic5[i].x - (tropic5[i].x - CenterPoint.x)/4),
				(tropic5[i].y - (tropic5[i].y - CenterPoint.y)/4));	
			dc.CloseFigure();
			dc.EndPath();		
			m_pthinker->rgn[i].CreateFromPath(&dc);	
			CRect rect;*/
			
			x1 = tropic5[i].x;
			y1 = tropic5[i].y;
			x2 = tropic5[i].x - (tropic5[i].x - CenterPoint.x)/4;
		    y2 = tropic5[i].y - (tropic5[i].y - CenterPoint.y)/4;

			
			left = min(x1,x2);
			top  = min(y1,y2);
			right = max(x1,x2);
			bottom = max(y1,y2);
		
			m_pthinker->Idlerect[i].SetRect(left,top,right,bottom);	
			m_pthinker->Idlerect[i].InflateRect(5,5);

			
		}
		for(i = 0;i<5;i++)
		{
			/*dc.BeginPath();			
			dc.MoveTo(usetropic[i].x,usetropic[i].y);		
			dc.LineTo((usetropic[i].x - (usetropic[i].x - CenterPoint.x)/4),
				(usetropic[i].y - (usetropic[i].y - CenterPoint.y)/4));			
			dc.EndPath();		
			m_pthinker->usergn[i].CreateFromPath(&dc);*/

			x1 = usetropic[i].x;
			y1 = usetropic[i].y;
			x2 = usetropic[i].x - (usetropic[i].x - CenterPoint.x)/4;
		    y2 = usetropic[i].y - (usetropic[i].y - CenterPoint.y)/4;

			
			left = min(x1,x2);
			top  = min(y1,y2);
			right = max(x1,x2);
			bottom = max(y1,y2);
				
			m_pthinker->userect[i].SetRect(left,top,right,bottom);	
			m_pthinker->userect[i].InflateRect(5,5);

			
		}
		IsRgn = TRUE;
	}
	//dc.SelectObject(oldpen);

	
	CDC memDC;
	memDC.CreateCompatibleDC(&dc);	

	CBitmap *oldbitmap;
	BITMAP bmpInfo;

	oldbitmap = memDC.SelectObject(&maskbmp1);
	maskbmp1.GetBitmap(&bmpInfo);	
	dc.BitBlt(ta5[0].x-bmpInfo.bmWidth/2,30,bmpInfo.bmWidth,bmpInfo.bmHeight,&memDC,0,0,SRCAND);
	memDC.SelectObject(oldbitmap);
	oldbitmap = memDC.SelectObject(&bmp1);
	dc.BitBlt(ta5[0].x-bmpInfo.bmWidth/2,30,bmpInfo.bmWidth,bmpInfo.bmHeight,&memDC,0,0,SRCPAINT);
	memDC.SelectObject(oldbitmap);

	oldbitmap = memDC.SelectObject(&maskbmp1);
	maskbmp1.GetBitmap(&bmpInfo);	
	dc.BitBlt(ta5[1].x-bmpInfo.bmWidth/2,ta5[1].y-bmpInfo.bmHeight/2,bmpInfo.bmWidth,bmpInfo.bmHeight,&memDC,0,0,SRCAND);
	memDC.SelectObject(oldbitmap);
	oldbitmap = memDC.SelectObject(&bmp1);
	dc.BitBlt(ta5[1].x-bmpInfo.bmWidth/2,ta5[1].y-bmpInfo.bmHeight/2,bmpInfo.bmWidth,bmpInfo.bmHeight,&memDC,0,0,SRCPAINT);
	memDC.SelectObject(oldbitmap);	
	

	oldbitmap = memDC.SelectObject(&maskbmp1);
	maskbmp1.GetBitmap(&bmpInfo);	
	dc.BitBlt(ta5[4].x-bmpInfo.bmWidth/2,ta5[4].y-bmpInfo.bmHeight/2,bmpInfo.bmWidth,bmpInfo.bmHeight,&memDC,0,0,SRCAND);
	memDC.SelectObject(oldbitmap);
	oldbitmap = memDC.SelectObject(&bmp1);
	dc.BitBlt(ta5[4].x-bmpInfo.bmWidth/2,ta5[4].y-bmpInfo.bmHeight/2,bmpInfo.bmWidth,bmpInfo.bmHeight,&memDC,0,0,SRCPAINT);
	memDC.SelectObject(oldbitmap);


	CBrush *oldbrush;
	oldbrush = (CBrush*)dc.SelectObject(&m_back);
	dc.Ellipse(CenterPoint.x - (radius-10),CenterPoint.y - (radius-10),
		       CenterPoint.x + (radius-10),CenterPoint.y + (radius-10));
	dc.SelectObject(oldbrush);

	oldbitmap = memDC.SelectObject(&maskbmp2);
	maskbmp2.GetBitmap(&bmpInfo);	
	dc.BitBlt(ta5[3].x-5-8,ta5[3].y-bmpInfo.bmHeight/2-8,bmpInfo.bmWidth,bmpInfo.bmHeight,&memDC,0,0,SRCAND);
	memDC.SelectObject(oldbitmap);
	oldbitmap = memDC.SelectObject(&bmp2);
	dc.BitBlt(ta5[3].x-5-8,ta5[3].y-bmpInfo.bmHeight/2-8,bmpInfo.bmWidth,bmpInfo.bmHeight,&memDC,0,0,SRCPAINT);
	memDC.SelectObject(oldbitmap);

	oldbitmap = memDC.SelectObject(&maskbmp3);
	maskbmp3.GetBitmap(&bmpInfo);	
	dc.BitBlt(ta5[2].x-bmpInfo.bmWidth+8,ta5[2].y-bmpInfo.bmHeight/2-8,bmpInfo.bmWidth,bmpInfo.bmHeight,&memDC,0,0,SRCAND);
	memDC.SelectObject(oldbitmap);
	oldbitmap = memDC.SelectObject(&bmp3);
	dc.BitBlt(ta5[2].x-bmpInfo.bmWidth+8,ta5[2].y-bmpInfo.bmHeight/2-8,bmpInfo.bmWidth,bmpInfo.bmHeight,&memDC,0,0,SRCPAINT);
	memDC.SelectObject(oldbitmap);

	oldpen = (CPen*)dc.SelectObject(&m_pen);

	BOOL ShouldDrawtropic = FALSE;

	for(i = 0;i<5;i++)
	{
		if(m_pthinker->tropicStatus[i] == 0)
		{
			dc.MoveTo(tropic5[i].x,tropic5[i].y);		
			dc.LineTo((tropic5[i].x - (tropic5[i].x - CenterPoint.x)/4),
				(tropic5[i].y - (tropic5[i].y - CenterPoint.y)/4));
		}	
		
	}
	
	for( i = 0;i<5;i++)
	{	
		if(m_pthinker->thinkerStatus[i] == EATING_STATUS)
		{
			dc.MoveTo(usetropic[i].x,usetropic[i].y);
			dc.LineTo((usetropic[i].x - (usetropic[i].x - CenterPoint.x)/4),
			          (usetropic[i].y - (usetropic[i].y - CenterPoint.y)/4));		
			
		}
		
	}

	//for(i = 0;i<5;i++)
	//{
	//	dc.Rectangle(m_pthinker->thinkerRect[i]);
	//}
	dc.SelectObject(oldpen);


	



	HFONT hfontOld;
	if(pFont)
		hfontOld = (HFONT)SelectObject(dc.m_hDC, (HFONT)pFont->m_hObject);

	::SetBkMode(dc, TRANSPARENT);
	GetClientRect(&rect);
	
	for(i = 0;i<THINKER_NUM;i++)
	{
		//if(i == 0)
		//{
			if(m_pthinker->thinkerStatus[i] == THINKING_STATUS)
				m_sTEXT = "1+1=?";
			else if(m_pthinker->thinkerStatus[i] == EATING_STATUS)
				m_sTEXT = "好香呀!";
			else if(m_pthinker->thinkerStatus[i] == HUNGRY_STATUS)
				m_sTEXT = "我餓喔!";
			else m_sTEXT = " ";

			::DrawText(dc, m_sTEXT, -1, &m_pthinker->thinkerRect[i], 
			           DT_SINGLELINE|DT_VCENTER|DT_CENTER);
	//	}

	}

	if(m_bCenter)
		::DrawText(dc, m_sTEXT, -1, &rect, DT_SINGLELINE|DT_VCENTER|DT_CENTER);
	else
	{
		rect.left+=m_iLeftSpacing;
		::DrawText(dc, m_sTEXT, -1, &rect, DT_SINGLELINE|DT_VCENTER|DT_LEFT);
	}

	if(pFont)
		::SelectObject(dc.m_hDC, hfontOld);
}

void CGradientStatic::SetWindowText(LPCSTR lpszString)
{
	m_sTEXT = lpszString;
	Invalidate(TRUE);
}

CString CGradientStatic::GetWindowText()
{
	return m_sTEXT;

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久综合色| 亚洲妇熟xx妇色黄| 麻豆91在线播放免费| 色婷婷精品大在线视频| 自拍偷拍国产精品| 成人性生交大片免费看在线播放 | 欧美激情中文字幕| 国产麻豆精品在线观看| 久久久天堂av| 国产成人免费视频精品含羞草妖精| 日韩精品一区二区三区视频在线观看| 午夜成人免费电影| 7777精品久久久大香线蕉| 亚洲电影中文字幕在线观看| 欧美最猛黑人xxxxx猛交| 一区二区三区日韩| 欧美日韩另类一区| 日韩av电影一区| 欧美一二三在线| 亚洲午夜精品在线| 欧美二区乱c少妇| 蜜桃视频一区二区三区| 亚洲精品在线电影| 成人天堂资源www在线| 国产精品国模大尺度视频| 成人免费看的视频| 一区二区三区蜜桃| 91黄视频在线观看| 亚洲成av人片在线观看| 日韩精品中文字幕一区二区三区| 国产精品一二三区在线| 国产精品人成在线观看免费| 91丨porny丨中文| 亚洲超碰97人人做人人爱| 日韩一区二区免费在线电影| 国产精品一区二区三区四区| 亚洲视频免费在线观看| 欧美疯狂性受xxxxx喷水图片| 久久精品国产亚洲高清剧情介绍 | 中文字幕亚洲综合久久菠萝蜜| 成人黄色小视频在线观看| 亚洲精品伦理在线| 欧美一三区三区四区免费在线看| 九色综合国产一区二区三区| 亚洲欧美综合网| 欧美剧情片在线观看| 国产一区二区免费视频| 亚洲欧洲制服丝袜| 色天天综合色天天久久| 免费一级欧美片在线观看| 欧美电影免费提供在线观看| av不卡免费电影| 日韩专区中文字幕一区二区| 国产欧美精品区一区二区三区| 一本大道久久精品懂色aⅴ| 日产欧产美韩系列久久99| 中文字幕中文字幕一区二区| 色视频成人在线观看免| 国产美女精品人人做人人爽| 一区二区三区四区高清精品免费观看| 日韩欧美黄色影院| 一本一道综合狠狠老| 免费观看日韩电影| 一区二区三区高清不卡| 精品久久久网站| 欧美人伦禁忌dvd放荡欲情| 白白色亚洲国产精品| 亚洲与欧洲av电影| 欧美国产精品劲爆| 91精品国产综合久久小美女| 91香蕉国产在线观看软件| 久久国产福利国产秒拍| 亚洲午夜影视影院在线观看| 国产人久久人人人人爽| 日韩欧美国产一区二区三区 | 午夜精品国产更新| 中文在线一区二区| 久久综合九色综合97婷婷| 欧美日韩国产首页在线观看| 国产成人精品亚洲777人妖| 日本午夜精品视频在线观看| 亚洲黄色尤物视频| 中文字幕国产一区二区| 欧美另类一区二区三区| 成人精品视频一区二区三区 | 精品日韩一区二区| 3d成人h动漫网站入口| 色综合久久综合网| 91免费版在线看| 成人看片黄a免费看在线| 国产伦理精品不卡| 香蕉成人伊视频在线观看| 亚洲午夜久久久久久久久电影网| 最新高清无码专区| 中文字幕制服丝袜成人av| 久久嫩草精品久久久久| 日韩欧美不卡在线观看视频| 日韩一级大片在线观看| 欧美日韩高清一区二区| 欧美日韩国产成人在线免费| 欧美亚洲一区二区在线| 欧美三区在线观看| 欧美在线不卡视频| 欧美精品久久天天躁| 欧美日韩精品欧美日韩精品| 91久久精品午夜一区二区| 99国产精品国产精品毛片| 91亚洲精品久久久蜜桃网站| 91蜜桃传媒精品久久久一区二区 | 日韩国产精品久久久| 日韩成人免费在线| 老色鬼精品视频在线观看播放| 韩国欧美国产1区| 成人视屏免费看| 色婷婷激情一区二区三区| 欧美精品亚洲一区二区在线播放| 欧美日韩一卡二卡| 欧美一个色资源| 国产喷白浆一区二区三区| 国产精品私人影院| 亚洲精品国产成人久久av盗摄 | 日本亚洲欧美天堂免费| 久久99精品久久久| 成人精品小蝌蚪| 欧美日韩情趣电影| 亚洲精品一线二线三线| 国产精品国产自产拍高清av王其| 亚洲欧美日韩国产一区二区三区 | 日韩电影在线免费看| 精品一区二区三区在线观看国产| 国产成人自拍在线| 欧美色综合影院| 久久精品免费在线观看| 久久久久国产一区二区三区四区 | 99re热视频这里只精品| 欧美日韩国产a| 国产欧美日韩精品a在线观看| 久久久www免费人成精品| 2020国产成人综合网| 一区二区三区欧美激情| 久久91精品久久久久久秒播| 成人黄色电影在线 | 国产一区999| 在线欧美一区二区| 久久久久久久一区| 亚洲成人资源网| 国产成人av影院| 欧美日韩免费一区二区三区| 久久久另类综合| 亚洲图片一区二区| 国产精品一区专区| 欧美一区日韩一区| 亚洲精选视频在线| 国产精品亚洲人在线观看| 欧美在线不卡视频| 国产精品久久久久久久久晋中| 秋霞成人午夜伦在线观看| 91免费观看在线| 国产三级精品三级在线专区| 一个色综合av| 不卡在线视频中文字幕| 日韩欧美中文字幕精品| 亚洲综合色在线| 成人av资源下载| 中文字幕精品一区二区三区精品| 国产精品一线二线三线精华| 久久这里都是精品| 久久91精品久久久久久秒播| 日韩一级在线观看| 久久99蜜桃精品| 精品国产凹凸成av人导航| 免费的成人av| 日韩欧美亚洲国产精品字幕久久久| 日韩中文字幕区一区有砖一区| 欧美日韩激情一区二区三区| 亚洲高清视频在线| 欧美精选一区二区| 日韩极品在线观看| 日韩欧美一区二区久久婷婷| 美女视频黄 久久| wwwwww.欧美系列| 国产aⅴ综合色| 国产精品久久久久四虎| 97精品超碰一区二区三区| 亚洲乱码中文字幕综合| 91成人在线免费观看| 丝袜a∨在线一区二区三区不卡| 欧美唯美清纯偷拍| 久久www免费人成看片高清| 久久久99久久精品欧美| 成a人片国产精品| 亚洲一本大道在线| 欧美一区二区三区公司| 国产乱人伦精品一区二区在线观看| 中文字幕欧美区| 色丁香久综合在线久综合在线观看| 亚洲一级二级在线| 精品av综合导航| 一本大道久久a久久精二百| 免费看黄色91|