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

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

?? xpbutton.cpp

?? 人工智能中的八數(shù)碼難題,人工智能中的八數(shù)碼難題
?? CPP
字號:
//====================================================================
//==============XP Style Button=============
//Author	Ma811
//Date		2002-7-19
//Version	0.50
//E-mail	ma811@yeah.net
//====================================================================
////////////////////////////////////////////////////////////////////
// XPButton.cpp : implementation file
//

#include "stdafx.h"
#include "XPButton.h"

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

/////////////////////////////////////////////////////////////////////////////
// CXPButton

CXPButton::CXPButton()
{
	m_bIsMouseMove = 0;

	m_NormalTextColor	= RGB(255, 255, 255);
	m_SelectTextColor	= RGB(255, 255, 255);
	m_ActiveTextColor	= RGB(255, 255, 255);

	m_ActiveColor		= RGB(255, 120, 80);

	m_NormalColorTop	= RGB(255, 255, 255);
	m_NormalColorBottom = RGB(0, 128, 255);

	m_FrameColor		= RGB(0, 64, 128);
	m_FrameHeight		= RGB(230, 230, 230);
	m_FrameShadow		= RGB(128, 128, 128);
}

CXPButton::~CXPButton()
{
}


BEGIN_MESSAGE_MAP(CXPButton, CButton)
	//{{AFX_MSG_MAP(CXPButton)
	ON_WM_MOUSEMOVE()
	//}}AFX_MSG_MAP
	ON_MESSAGE(WM_MOUSELEAVE,OnMouseLeave)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CXPButton message handlers

void CXPButton::DrawItem( LPDRAWITEMSTRUCT lpDrawItemStruct )
{
	//*
	CDC* pDC      = CDC::FromHandle(lpDrawItemStruct->hDC);
	DWORD nState  = lpDrawItemStruct->itemState;
	DWORD nAction = lpDrawItemStruct->itemAction; 
	CRect rc	  = lpDrawItemStruct->rcItem;
	UINT uStyle   = DFCS_BUTTONPUSH;

	pDC->SetBkMode(TRANSPARENT);
	CString strText;
	GetWindowText(strText);

	if( nState & ODS_SELECTED )
	{
		m_bIsMouseMove = 0;

		DrawFace(m_NormalColorBottom, m_NormalColorTop, rc, rc, pDC);
		DrawFrame(m_FrameShadow, m_FrameShadow, m_FrameColor, rc, pDC);	
		//pDC->Draw3dRect(rc, RGB(0,0,0), RGB(0,0,0));

		pDC->SetTextColor(m_SelectTextColor);
	}
	else //Normal
	{
		DrawFace(m_NormalColorTop, m_NormalColorBottom, rc, rc, pDC);
		DrawFrame(m_FrameHeight, m_FrameShadow, m_FrameColor, rc, pDC);

		pDC->SetTextColor(m_NormalTextColor);
	}

	if( m_bIsMouseMove )
	{
		CRect rc2(rc);
		rc2.DeflateRect(2, 2, 2, 2);

		DrawFace(RGB(GetRValue(m_ActiveColor), GetGValue(m_ActiveColor)+100, GetBValue(m_ActiveColor)+100),
			m_ActiveColor, rc, rc, pDC);
		DrawFace(m_NormalColorTop, m_NormalColorBottom, rc2, rc, pDC);

		CBrush NullBrush;
		NullBrush.CreateStockObject(NULL_BRUSH);
		CBrush* pOldBrush = pDC->SelectObject(&NullBrush);
		
		CPen Pen;
		Pen.CreatePen(PS_SOLID, 1, m_FrameColor);
		CPen* pOldPen = pDC->SelectObject(&Pen);
		rc.InflateRect(1,1,1,1);
		pDC->RoundRect(rc, CPoint(3, 3));
		//rc.DeflateRect(1, 1, 1, 1); 
		//pDC->Draw3dRect(rc, HeightLight, ShadowLight);
		
		pDC->SelectObject(pOldPen);
		pDC->SelectObject(pOldBrush);

		pDC->SetTextColor(m_ActiveTextColor);
	}
	
	pDC->DrawText(strText, strText.GetLength(), 
		&lpDrawItemStruct->rcItem, DT_SINGLELINE|DT_VCENTER|DT_CENTER);
	//*///
}

void CXPButton::OnMouseMove(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
	if( m_bIsMouseMove == 0 )
	{
		m_bIsMouseMove = 1;
		Invalidate();
		
		TRACKMOUSEEVENT trackmouseevent;
		trackmouseevent.cbSize = sizeof(trackmouseevent);
		trackmouseevent.dwFlags = TME_LEAVE;
		trackmouseevent.hwndTrack = GetSafeHwnd();
		trackmouseevent.dwHoverTime = HOVER_DEFAULT;
		_TrackMouseEvent(&trackmouseevent);
	}
	
	CButton::OnMouseMove(nFlags, point);
}

LONG CXPButton::OnMouseLeave(WPARAM, LPARAM)
{
	m_bIsMouseMove = 0;
	Invalidate();

	return 0;
}

void CXPButton::PreSubclassWindow() 
{
	// TODO: Add your specialized code here and/or call the base class
	UINT nBS = GetButtonStyle();

	// Add BS_OWNERDRAW style
	SetButtonStyle(nBS | BS_OWNERDRAW);

	CButton::PreSubclassWindow();
}

void CXPButton::DrawFace(COLORREF Top, COLORREF Bottom, CRect& rc, CRect CalRc, CDC* pDC)
{
	CPen Pen;
	CPen* pOldPen = pDC->SelectObject(&Pen);
	
	int R, G, B;
	R = (GetRValue(Top) - GetRValue(Bottom)) / CalRc.Height();
	G = (GetGValue(Top) - GetGValue(Bottom)) / CalRc.Height();
	B = (GetBValue(Top) - GetBValue(Bottom)) / CalRc.Height();
	
	//R = R>0 ? R : -R;
	//G = G>0 ? G : -G;
	//B = B>0 ? B : -B;

	int ColR = GetRValue(Top), ColG = GetGValue(Top), ColB = GetBValue(Top);
	COLORREF ColMax = Top > Bottom ? Top : Bottom;
	COLORREF ColMin = Top > Bottom ? Bottom: Top;

	for(int i=0; i<rc.Height(); i++)
	{
		ColR -= R;
		ColG -= G;
		ColB -= B;

		/*
		if( ColR >= GetRValue(ColMax) || ColR <= GetRValue(ColMin) ||
			ColG >= GetGValue(ColMax) || ColG <= GetGValue(ColMin) ||
			ColB >= GetBValue(ColMax) || ColB <= GetBValue(ColMin) )
		{
			R = G = B = 0;
		}///*/


		Pen.DeleteObject();
		Pen.CreatePen(PS_SOLID, 1, RGB(ColR, ColG, ColB));
				
		pDC->SelectObject(&Pen);
		
		pDC->MoveTo(rc.left, rc.top+i);
		pDC->LineTo(rc.right, rc.top+i);
	}

	pDC->SelectObject(pOldPen);
}

void CXPButton::DrawFrame(COLORREF HeightLight, COLORREF ShadowLight, COLORREF FrameColor, CRect& rc, CDC* pDC)
{
	CBrush NullBrush;
	NullBrush.CreateStockObject(NULL_BRUSH);
	CBrush* pOldBrush = pDC->SelectObject(&NullBrush);

	CPen Pen;
	Pen.CreatePen(PS_SOLID, 1, FrameColor);
	CPen* pOldPen = pDC->SelectObject(&Pen);
	
	pDC->RoundRect(rc, CPoint(3, 3));
	rc.DeflateRect(1, 1, 1, 1); 
	pDC->Draw3dRect(rc, HeightLight, ShadowLight);

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

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩视频一区二区三区在线播放| 国产精品视频一二三区 | 99国产精品99久久久久久| 欧美日韩综合一区| 国产精品天美传媒| 久久国产精品99久久人人澡| 在线视频综合导航| 国产色产综合色产在线视频| 免费一级欧美片在线观看| 91免费在线播放| 欧美激情资源网| 美国十次综合导航| 欧美老人xxxx18| 亚洲精品亚洲人成人网| 国产99精品视频| 精品国产一区二区三区久久久蜜月| 亚洲一区在线视频观看| 99久久精品国产毛片| 国产校园另类小说区| 美国一区二区三区在线播放| 91精品欧美综合在线观看最新| 亚洲国产精品麻豆| 91黄色激情网站| 亚洲伦理在线精品| 91行情网站电视在线观看高清版| 亚洲日韩欧美一区二区在线| 成人免费毛片app| 欧美激情一区二区三区蜜桃视频 | 26uuu国产在线精品一区二区| 日韩电影在线看| 制服视频三区第一页精品| 午夜视频一区在线观看| 欧美日韩精品福利| 婷婷中文字幕综合| 欧美一区二区三区影视| 日韩电影在线观看电影| 日韩色在线观看| 狠狠网亚洲精品| 国产亚洲一区二区三区在线观看| 国产精品一区一区| 国产精品成人午夜| 色婷婷亚洲综合| 午夜电影一区二区三区| 日韩一二三区不卡| 国产美女精品在线| 中文字幕一区二区三区精华液| 一本久道中文字幕精品亚洲嫩| 亚洲影院久久精品| 日韩精品一区二区三区在线观看| 国内精品不卡在线| 国产精品动漫网站| 欧美三级韩国三级日本一级| 免费久久99精品国产| 国产亚洲欧美中文| 在线区一区二视频| 日本sm残虐另类| 欧美激情一区三区| 欧美色精品在线视频| 狠狠色丁香久久婷婷综合_中| 国产欧美一区二区精品性| 91视频你懂的| 免费不卡在线观看| 亚洲视频在线一区观看| 欧美高清激情brazzers| 国产美女一区二区| 亚洲va中文字幕| 中文幕一区二区三区久久蜜桃| 欧洲亚洲精品在线| 国产精品自拍在线| 亚洲五月六月丁香激情| 久久综合久色欧美综合狠狠| 91美女视频网站| 久久精品国产99久久6| 亚洲欧美成aⅴ人在线观看| 91精品国产色综合久久ai换脸| 国产精品18久久久久久久久久久久 | 欧美精品一二三| 顶级嫩模精品视频在线看| 亚洲bt欧美bt精品| 国产精品久久精品日日| 日韩午夜在线观看视频| 色综合久久中文字幕综合网| 久久99久久精品欧美| 亚洲综合在线电影| 国产欧美日本一区二区三区| 在线综合+亚洲+欧美中文字幕| 91免费看视频| 国产成人免费在线| 久久精品72免费观看| 亚洲va中文字幕| 一区二区三区在线观看视频| 中文字幕av一区二区三区免费看| 69堂精品视频| 欧美日韩不卡一区| 在线中文字幕一区二区| 成+人+亚洲+综合天堂| 国产自产高清不卡| 精品亚洲porn| 毛片av一区二区| 午夜视频久久久久久| 亚洲伊人伊色伊影伊综合网| 亚洲欧美另类久久久精品 | 亚洲成人免费av| 亚洲影视在线播放| 一级精品视频在线观看宜春院 | 91久久精品午夜一区二区| 不卡视频一二三四| 9色porny自拍视频一区二区| 国产99久久久久| 成人性视频网站| 国产.欧美.日韩| 丰满少妇久久久久久久| 国产成人精品免费看| 国产久卡久卡久卡久卡视频精品| 久久99在线观看| 国内成人精品2018免费看| 久久99精品久久久久婷婷| 狂野欧美性猛交blacked| 青青草国产精品97视觉盛宴| 午夜精品久久久久影视| 丝袜美腿亚洲一区| 免费成人av在线播放| 激情文学综合丁香| 国产成+人+日韩+欧美+亚洲| 波多野结衣中文字幕一区| 91在线观看污| 欧美性猛交xxxx黑人交| 欧美日韩国产美| 欧美大片国产精品| 久久精品亚洲国产奇米99| 亚洲欧洲精品一区二区精品久久久| 日韩美女视频19| 午夜精品福利在线| 久久99国产精品免费| 成人激情午夜影院| 日本乱人伦aⅴ精品| 欧美妇女性影城| 欧美v国产在线一区二区三区| 久久婷婷国产综合国色天香| 国产精品久久综合| 午夜视频一区二区| 国产一区不卡在线| 色婷婷久久一区二区三区麻豆| 在线播放国产精品二区一二区四区| 欧美电影免费观看高清完整版在线观看| 日韩欧美综合在线| 中文字幕中文在线不卡住| 亚洲观看高清完整版在线观看 | 精品精品国产高清一毛片一天堂| 国产日韩精品视频一区| 亚洲综合免费观看高清完整版 | 欧美日韩电影一区| 久久免费的精品国产v∧| 亚洲欧洲精品天堂一级| 日韩精品电影在线观看| eeuss鲁一区二区三区| 6080yy午夜一二三区久久| 欧美激情自拍偷拍| 日韩成人免费看| 99国产精品久久久久| 欧美精品一区男女天堂| 亚洲乱码国产乱码精品精小说 | 在线亚洲+欧美+日本专区| 精品国产乱码久久久久久蜜臀| 亚洲三级免费电影| 国产在线视频不卡二| 欧日韩精品视频| 国产精品美女久久久久久久| 青青草伊人久久| 欧美三级视频在线| 国产精品女上位| 国产一区二区主播在线| 欧美高清性hdvideosex| 亚洲免费电影在线| 成人免费视频视频| 久久久久一区二区三区四区| 日韩精品一区第一页| 色噜噜狠狠成人网p站| 国产清纯白嫩初高生在线观看91| 亚洲电影一区二区| 91亚洲精华国产精华精华液| 国产亚洲精品7777| 久久成人免费日本黄色| 欧美日韩国产综合一区二区三区| 最近中文字幕一区二区三区| 国产乱人伦偷精品视频不卡| 日韩女优av电影在线观看| 视频在线观看91| 欧美久久高跟鞋激| 亚洲成人先锋电影| 欧美视频在线不卡| 亚洲综合小说图片| 色菇凉天天综合网| 一区二区三区中文在线观看| 99久久精品免费看| 亚洲精品日日夜夜| 欧美在线三级电影| 亚洲国产精品人人做人人爽| 欧美三级在线视频| 日本午夜精品视频在线观看|