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

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

?? colorpicker.cpp

?? 用vc++6.0制作
?? CPP
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
////////////////////////////////////////////////////////////////
// ColorPicker.cpp : implementation file                      //
//															  //
// Copyright 2001 WangJun									  //
// All Rights Reserved.										  //
//															  //
// Email: wangjun98@sohu.com								  //
// URL:   http://www.vckbase.com							  //
//															  //
// 1.0     2001/10/6   First release version.				  //
//															  //
////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "ColorPicker.h"

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

#define LPARAM_X(lp)                        ((int)(short)LOWORD(lp))
#define LPARAM_Y(lp)                        ((int)(short)HIWORD(lp))

#define	WM_SETCOLOR							WM_USER+1
#define WM_COLORDLG							WM_USER+2

#define	IDC_COLORDLG_BUTTON					100

CPen	_pen3DDKShadow(PS_SOLID,1,::GetSysColor(COLOR_3DDKSHADOW));
CPen	_penW(PS_SOLID,1,RGB(0xff,0xff,0xff));
CPen	_penB(PS_SOLID,1,RGB(0,0,0));


/////////////////////////////////////////////////////////////////////////////
// CColorPicker

CColorPicker::CColorPicker()
{
	const unsigned char pvANDPlaneC[]={0xff,0xf1,0xff,0xe0,0xff,0xc0,0xff,0x00,0xff,0x81,0xff,0x03,0xfe,0x07,0xfc,0x17,
	0xf8,0x3f,0xf0,0x7f,0xe0,0xff,0xc1,0xff,0x83,0xff,0x87,0xff,0x0f,0xff,0x3f,0xff};
	const unsigned char pvXORPlaneC[]={0x00,0x00,0x00,0x0c,0x00,0x08,0x00,0x10,0x00,0x00,0x00,0x40,0x00,0xe0,0x01,0xc0,
	0x03,0x80,0x07,0x00,0x0e,0x00,0x1c,0x00,0x38,0x00,0x30,0x00,0x40,0x00,0x00,0x00};
	int cxCursor = ::GetSystemMetrics(SM_CXCURSOR);
	int cyCursor = ::GetSystemMetrics(SM_CYCURSOR);
	m_hCursorStraw = NULL;
	if(cxCursor >=16 && cxCursor < 100 && cyCursor < 100 && cyCursor >= 16)
	{
		int size = cxCursor*cyCursor/8;
		unsigned char *pvANDPlane = new unsigned char[size];
		unsigned char *pvXORPlane = new unsigned char[size];
		if(pvANDPlane && pvXORPlane)
		{
			memset(pvANDPlane,0xff,size);
			memset(pvXORPlane,0x00,size);
			for(int j=0;j<16;j++)
				for(int i=0;i<2;i++)
				{
					*(pvANDPlane+j*cxCursor/8 + i) = *(pvANDPlaneC + j*2 + i);
					*(pvXORPlane+j*cxCursor/8 + i) = *(pvXORPlaneC + j*2 + i);
				}
			m_hCursorStraw = ::CreateCursor(::AfxGetInstanceHandle(),0,15,cxCursor,cyCursor,pvANDPlane,pvXORPlane);
			delete pvANDPlane;
			delete pvXORPlane;
		}
	}
	m_CurrentColor = COLORREF(::GetSysColor(COLOR_3DFACE));
	m_hwndBuddy	= NULL;
	m_hPaletteWnd = NULL;
	m_bPaletteWndActive = FALSE;
}

CColorPicker::~CColorPicker()
{
	::DestroyCursor(m_hCursorStraw);
}


BEGIN_MESSAGE_MAP(CColorPicker, CButton)
	//{{AFX_MSG_MAP(CColorPicker)
	ON_WM_ERASEBKGND()
	ON_WM_LBUTTONDOWN()
	ON_WM_LBUTTONUP()
	ON_WM_SETCURSOR()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CColorPicker message handlers

void CColorPicker::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct) 
{
}

BOOL CColorPicker::OnEraseBkgnd(CDC* pDC) 
{
	CPen		*pOldPen;
	COLORREF	clr3DFace = GetSysColor(COLOR_3DFACE);
	CRect		rect;
	GetClientRect(&rect);
	if(!m_bPaletteWndActive)
	{
		pDC->Draw3dRect (rect,RGB(0xff,0xff,0xff),GetSysColor (COLOR_3DDKSHADOW));
		rect.DeflateRect(1,1);
		pDC->Draw3dRect (rect,clr3DFace,clr3DFace);
		rect.InflateRect(1,1);
	}
	rect.DeflateRect(3,3);
	pDC->FillSolidRect(rect,m_CurrentColor);
	rect.left -= 1;rect.top -= 1;
	pOldPen = pDC->SelectObject(&_pen3DDKShadow);
	pDC->MoveTo(rect.right - 1,rect.top);
	pDC->LineTo(rect.left,rect.top);
	pDC->LineTo(rect.left,rect.bottom);
	pDC->SelectObject(&_penW);
	pDC->LineTo(rect.right - 6,rect.bottom);
	pDC->LineTo(rect.right - 6,rect.bottom - 4);
	pDC->LineTo(rect.right,rect.bottom - 4);
	pDC->MoveTo(rect.right,rect.top);
	pDC->LineTo(rect.right,rect.bottom - 3);
	
	rect.right += 1;
	rect.bottom += 1;
	rect.left = rect.right - 6;
	rect.top = rect.bottom - 4;
	pDC->FillSolidRect(rect,clr3DFace);

	pDC->SelectObject(&_penB);
	pDC->MoveTo(rect.left + 1,rect.top + 1);
	pDC->LineTo(rect.right,rect.top + 1);
	pDC->MoveTo(rect.left + 2,rect.top + 2);
	pDC->LineTo(rect.right-1,rect.top + 2);
	pDC->MoveTo(rect.left + 3,rect.top + 3);
	pDC->LineTo(rect.right-2,rect.top + 3);
	
	pDC->SelectObject(pOldPen);

	return TRUE;
}

void CColorPicker::OnLButtonDown(UINT nFlags, CPoint point) 
{
	CButton::OnLButtonDown(nFlags, point);
	::ClientToScreen(this->m_hWnd,&point);
	if(CreatePaletteWindow())
	{
		nFlags = (UINT)m_CurrentColor;
		::PostMessage(m_hPaletteWnd,WM_LBUTTONDOWN,nFlags,MAKELPARAM(point.x,point.y));
	}
	HWND hwndParent = GetParent()->m_hWnd;
	if(hwndParent)
	{
		POINT	p1,p2;
		RECT	rect;
		::GetWindowRect(m_hWnd,&rect);
		p1.x = rect.left;
		p1.y = rect.top;
		p2.x = rect.right;
		p2.y = rect.bottom;
		::ScreenToClient(hwndParent,&p1);
		::ScreenToClient(hwndParent,&p2);
		rect.left = p1.x;
		rect.top = p1.y;
		rect.right = p2.x;
		rect.bottom = p2.y;
		::InvalidateRect(hwndParent,&rect,TRUE);
	}
}

void CColorPicker::OnLButtonUp(UINT nFlags, CPoint point) 
{
	DestroyPaletteWindow();
	if((COLORREF)nFlags != m_CurrentColor)
		SetColor((COLORREF)nFlags);
	else
		Invalidate();
}

LONG FAR PASCAL CColorPicker::PaletteWndProc(HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lParam)
{
	HDC					hDC;
	PAINTSTRUCT			ps;
	POINT				point;
	CRect				crtColorRect(5,125,40,143);
	static	POINT		oldPoint;
	static	BOOL		bMouseMoved = FALSE;
	static	HWND		hwndParent;
	static	HWND		hwndColorBtn;
	static	HFONT		hFont = NULL;
	static	COLORREF	crtColor,oldColor;
	static	int			iActiveRect = -1;
	switch(nMsg)
	{
	case WM_CREATE:
		{
		hwndParent = ((LPCREATESTRUCT)lParam)->hwndParent;
		crtColor = ::GetSysColor(COLOR_3DFACE);
		LOGFONT logFont;
		ZeroMemory((void*)&logFont,sizeof(logFont));
		strcpy(logFont.lfFaceName,"宋體");
		logFont.lfHeight = -12;
		logFont.lfWeight = 400;
		logFont.lfCharSet = GB2312_CHARSET;
		logFont.lfOutPrecision = 3;
		logFont.lfClipPrecision = 2; 
		logFont.lfQuality = 1;
		logFont.lfPitchAndFamily = 2;
		hFont = ::CreateFontIndirect(&logFont);
		////色彩對(duì)話框按鈕
		hwndColorBtn = ::CreateWindow("BUTTON","",WS_CHILD|WS_VISIBLE|BS_OWNERDRAW,167,126,16,16,hWnd,HMENU(IDC_COLORDLG_BUTTON),::AfxGetInstanceHandle(),NULL);
		if(hwndColorBtn)
			::ShowWindow(hwndColorBtn,SW_SHOW);
		}
		break;
	case WM_DESTROY:
		::DeleteObject(hFont);
		break;
	case WM_DRAWITEM:
		{
		LPDRAWITEMSTRUCT lpDis = (LPDRAWITEMSTRUCT)lParam;
		if(lpDis->CtlID == IDC_COLORDLG_BUTTON)
		{
			CRect		rect(3,3,8,8);
			::FillRect(lpDis->hDC,&lpDis->rcItem,(HBRUSH)::GetStockObject(LTGRAY_BRUSH));
			HPEN	hOldPen = (HPEN)::SelectObject(lpDis->hDC,_penW);
			if(lpDis->itemState == 17)
			{
				::MoveToEx(lpDis->hDC,lpDis->rcItem.right-1,lpDis->rcItem.top,NULL);
				::LineTo(lpDis->hDC,lpDis->rcItem.right-1,lpDis->rcItem.bottom-1);
				::LineTo(lpDis->hDC,lpDis->rcItem.left,lpDis->rcItem.bottom-1);
				::SelectObject(lpDis->hDC,_penB);
				::LineTo(lpDis->hDC,lpDis->rcItem.left,lpDis->rcItem.top);
				::LineTo(lpDis->hDC,lpDis->rcItem.right-1,lpDis->rcItem.top);
				rect.OffsetRect(1,1);
			}
			else
			{
				::MoveToEx(lpDis->hDC,lpDis->rcItem.right-1,lpDis->rcItem.top,NULL);
				::LineTo(lpDis->hDC,lpDis->rcItem.left,lpDis->rcItem.top);
				::LineTo(lpDis->hDC,lpDis->rcItem.left,lpDis->rcItem.bottom-1);
				::SelectObject(lpDis->hDC,_penB);
				::LineTo(lpDis->hDC,lpDis->rcItem.right-1,lpDis->rcItem.bottom-1);
				::LineTo(lpDis->hDC,lpDis->rcItem.right-1,lpDis->rcItem.top);
			}
			::SelectObject(lpDis->hDC,_pen3DDKShadow);
			::Rectangle(lpDis->hDC,rect.left-1,rect.top-1,rect.right+1,rect.bottom+1);
			::SetBkColor(lpDis->hDC, RGB(0xff,0,0));
			::ExtTextOut(lpDis->hDC, 0, 0, ETO_OPAQUE, &rect, NULL, 0, NULL);
			rect.OffsetRect(2,2);
			::Rectangle(lpDis->hDC,rect.left-1,rect.top-1,rect.right+1,rect.bottom+1);
			::SetBkColor(lpDis->hDC, RGB(0,0xff,0));
			::ExtTextOut(lpDis->hDC, 0, 0, ETO_OPAQUE, &rect, NULL, 0, NULL);
			rect.OffsetRect(2,2);
			::Rectangle(lpDis->hDC,rect.left-1,rect.top-1,rect.right+1,rect.bottom+1);
			::SetBkColor(lpDis->hDC, RGB(0xff,0xff,0));
			::ExtTextOut(lpDis->hDC, 0, 0, ETO_OPAQUE, &rect, NULL, 0, NULL);
			::SelectObject(lpDis->hDC,hOldPen);
		}
		}
		break;
	case WM_SETCOLOR:
		crtColor = (COLORREF)wParam;
		oldColor = crtColor;
		break;
	case WM_COMMAND:
		::PostMessage(hwndParent,WM_COLORDLG,NULL,NULL);
		break;
	case WM_MOUSEMOVE:
		{
		BOOL bInCtrlArea = FALSE;
		point.x = LPARAM_X(lParam);
		point.y = LPARAM_Y(lParam);
		::ClientToScreen(hWnd,&point);
		if(point.x != oldPoint.x || point.y != oldPoint.y)
		{
			bMouseMoved = TRUE;
			HWND	hwndPoint = ::WindowFromPoint(point);
			if(hwndPoint)
			{
				COLORREF	crtTMPColor;
				CRect		rect;

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99re亚洲国产精品| 麻豆专区一区二区三区四区五区| 色丁香久综合在线久综合在线观看| 亚洲电影在线免费观看| 欧美一区二区在线免费观看| 高潮精品一区videoshd| 亚洲综合999| 欧美精品一区二| 国产露脸91国语对白| 亚洲精选视频免费看| 日韩一区二区三区观看| 91亚洲精品久久久蜜桃| 美女mm1313爽爽久久久蜜臀| 中文字幕亚洲区| 日韩午夜中文字幕| 91免费国产在线观看| 免费观看30秒视频久久| 亚洲美女在线国产| 正在播放一区二区| 99久久精品国产毛片| 免费精品视频在线| 夜夜亚洲天天久久| 国产精品私房写真福利视频| 欧美精品欧美精品系列| 99久久国产综合色|国产精品| 久草热8精品视频在线观看| 亚洲精品日产精品乱码不卡| 久久综合九色综合97婷婷| 欧美私人免费视频| www.成人在线| 国产很黄免费观看久久| 秋霞成人午夜伦在线观看| 亚洲卡通欧美制服中文| 亚洲精品在线免费播放| 91麻豆精品国产综合久久久久久| 91在线视频官网| 成人小视频免费在线观看| 国产一区二区三区黄视频| 首页综合国产亚洲丝袜| 亚洲综合一区在线| 亚洲精品国产无套在线观| 欧美高清在线一区| 久久精品网站免费观看| 久久亚洲影视婷婷| 日韩女优制服丝袜电影| 欧美亚洲另类激情小说| 不卡一二三区首页| 国产成人免费xxxxxxxx| 国产乱码精品一区二区三| 久久91精品国产91久久小草| 免费观看在线色综合| 日韩中文字幕亚洲一区二区va在线| 亚洲最新视频在线观看| 亚洲精品国产精品乱码不99| 自拍偷自拍亚洲精品播放| 中文字幕日韩一区| 久久在线观看免费| 欧美一二三在线| 欧美电视剧免费观看| 精品福利二区三区| 久久久www免费人成精品| 久久亚洲精华国产精华液| 亚洲精品一区二区三区四区高清| 精品国产制服丝袜高跟| www久久精品| 国产精品久久久久久户外露出| 国产精品免费观看视频| 一色屋精品亚洲香蕉网站| 亚洲一区二区欧美激情| 亚洲电影在线播放| 日韩1区2区日韩1区2区| 日本不卡不码高清免费观看| 免费看欧美女人艹b| 狠狠色狠狠色合久久伊人| 国产成人综合在线| 91女人视频在线观看| 色婷婷综合久久久中文一区二区 | 国产女人18毛片水真多成人如厕 | 亚洲色图.com| 亚洲欧美电影一区二区| 亚洲成a人片综合在线| 丝袜a∨在线一区二区三区不卡| 麻豆精品精品国产自在97香蕉| 国产精品99久久久久久有的能看 | 欧美影视一区在线| 欧美老女人在线| 精品日本一线二线三线不卡| 国产欧美精品一区二区色综合 | 秋霞午夜av一区二区三区| 全国精品久久少妇| 国产成人精品免费| 欧洲激情一区二区| 欧美精品一区二区三区在线播放| 国产精品热久久久久夜色精品三区 | 亚洲成人综合网站| 国产一区二区三区国产| 色综合天天综合网天天看片| 欧美日韩极品在线观看一区| 久久久久久久久免费| 中文在线一区二区| 亚洲视频免费观看| 蜜桃视频在线一区| 97aⅴ精品视频一二三区| 日韩精品一区二区三区swag| 亚洲人成在线观看一区二区| 日韩黄色一级片| 成人黄色网址在线观看| 欧洲一区二区三区免费视频| 欧美tickle裸体挠脚心vk| 亚洲女爱视频在线| 国产乱妇无码大片在线观看| 欧美三级三级三级爽爽爽| 中文字幕成人网| 亚洲线精品一区二区三区| 国产精品一级片| 欧美一区二区成人6969| 亚洲精品高清在线| 国产·精品毛片| 日韩精品一区二| 亚洲成a人片综合在线| 国产一区二区三区最好精华液| 91久久精品一区二区三| 欧美电视剧在线看免费| 亚洲一区在线视频观看| 99国产欧美另类久久久精品| 欧美一区二区三区四区五区| 久久精品人人爽人人爽| 免费看日韩精品| 欧美夫妻性生活| 伊人色综合久久天天人手人婷| 岛国精品在线观看| 久久久久久久久蜜桃| 裸体在线国模精品偷拍| 欧美日韩精品电影| 亚洲国产精品影院| 色婷婷综合激情| 中文字幕在线一区二区三区| 青青草97国产精品免费观看| 欧美久久久久久久久久| 亚洲不卡一区二区三区| 777亚洲妇女| 免费成人在线视频观看| 精品捆绑美女sm三区| 国模无码大尺度一区二区三区| 欧美精品一区二区三区很污很色的 | 亚洲午夜在线电影| 欧美丰满一区二区免费视频| 青青草97国产精品免费观看无弹窗版| 51久久夜色精品国产麻豆| 久久国产综合精品| 国产亚洲欧洲997久久综合 | 日韩欧美区一区二| 久久成人免费网| 国产日产欧产精品推荐色 | 国产美女精品人人做人人爽| 国产亚洲女人久久久久毛片| 成人av电影免费观看| 夜夜嗨av一区二区三区中文字幕| 欧美精品粉嫩高潮一区二区| 久久精品国产澳门| 中文成人av在线| 欧美亚洲综合一区| 极品少妇xxxx精品少妇偷拍| 国产区在线观看成人精品| 91网站黄www| 蜜桃视频一区二区三区| 久久精品视频一区二区| 91麻豆免费观看| 奇米777欧美一区二区| 国产三级精品视频| 日本高清不卡aⅴ免费网站| 免费一级欧美片在线观看| 欧美激情综合五月色丁香| 欧美自拍偷拍一区| 韩国精品免费视频| 一区二区三区中文字幕| 91精品国产综合久久福利| 丁香婷婷综合色啪| 无码av免费一区二区三区试看 | 天堂精品中文字幕在线| 久久久噜噜噜久久人人看| 在线精品国精品国产尤物884a| 久久99精品国产麻豆婷婷洗澡| |精品福利一区二区三区| 欧美成人艳星乳罩| 色88888久久久久久影院按摩| 久久国产精品第一页| 亚洲精品乱码久久久久| 久久亚洲综合av| 欧美另类高清zo欧美| 成人免费看片app下载| 麻豆成人av在线| 亚洲在线视频一区| 国产精品久久影院| 欧美成人三级在线| 欧美欧美午夜aⅴ在线观看| 国产91精品久久久久久久网曝门 | 香蕉av福利精品导航| 国产精品萝li| 精品久久久久99|