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

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

?? palettewnd.cpp

?? 《精通 vc++ 圖像編程》的源代碼
?? CPP
字號:
// PaletteWnd.cpp : implementation file
//

#include "stdafx.h"
#include "ImageBoard.h"
#include "math.h"
#include "DibView.h"

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

/////////////////////////////////////////////////////////////////////////////
// CPaletteWnd

CPaletteWnd::CPaletteWnd(LPCSTR lpstrTitle, CWnd* pParentWnd)
{
	Create(NULL, lpstrTitle, WS_SYSMENU|WS_CAPTION|WS_THICKFRAME|WS_VISIBLE|WS_CHILD|WS_CLIPSIBLINGS, 
		   CRect(0,0,160,160), pParentWnd, 0x1208);
}

CPaletteWnd::~CPaletteWnd()
{
}


BEGIN_MESSAGE_MAP(CPaletteWnd, CWnd)
	//{{AFX_MSG_MAP(CPaletteWnd)
	ON_WM_PAINT()
	ON_WM_CREATE()
	ON_WM_LBUTTONDBLCLK()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()


/////////////////////////////////////////////////////////////////////////////
// CPaletteWnd message handlers

void CPaletteWnd::OnPaint() 
{
	CPaintDC dc(this); // device context for painting
	
	// parent window
	CDibView* pParent = (CDibView *)GetParent();

	// if no palette, return
	if (pParent->m_pDib->m_pPalette == NULL)
		return;

	// window size
	CRect rcWnd, rc;
	GetWindowRect(&rcWnd);
	GetClientRect(&rc);
	int nWidth = rc.Width();
	int nHeight = rc.Height();

	//DisplayPalette(dc.GetSafeHdc(), &rc, pParent->m_pDib->m_hPalette);
	int nEntries;
	PALETTEENTRY pe[256];
	nEntries = pParent->m_pDib->m_pPalette->GetPaletteEntries(0, 256, pe);

	int nSqr = (int)sqrt((double)nEntries);

	int nWidthBox = rc.Width()/nSqr;
	int nHeightBox = rc.Height()/nSqr;
	rc.right = rc.left + nWidthBox*nSqr;
	rc.bottom = rc.top + nHeightBox*nSqr;

	CPalette* pOldPal = dc.SelectPalette(pParent->m_pDib->m_pPalette, FALSE);
	dc.RealizePalette();

	int x, y;
	for (int i=0; i<nEntries; ++i)
	{
		x = i%nSqr;
		y = i/nSqr;
		CRect rcBox(rc.left + x*nWidthBox, 
				    rc.top + y*nHeightBox, 
				    rc.left + (x+1)*nWidthBox, 
				    rc.top + (y+1) *nHeightBox);
		CString strColor;
		strColor.Format("RGB(%d,%d,%d)", pe[i].peRed, pe[i].peGreen, pe[i].peBlue);
		m_ToolTip.AddRectangle(this, strColor, rcBox, i);

		CPen pen(PS_SOLID, 1, RGB(pe[i].peRed, pe[i].peGreen, pe[i].peBlue));
		CPen* pOldPen = dc.SelectObject(&pen);
		CBrush brush;
		brush.CreateSolidBrush(RGB(pe[i].peRed, pe[i].peGreen, pe[i].peBlue));
		CBrush* pOldBrush = dc.SelectObject(&brush);
		dc.Rectangle(&rcBox);
		dc.SelectObject(pOldPen);
		dc.SelectObject(pOldBrush);
	}
	
	dc.SelectPalette(pOldPal, FALSE);

	int nDeltaX = rc.Width()-nWidth;
	int nDeltaY = rc.Height()-nHeight;
	if (nDeltaX || nDeltaY)
		SetWindowPos(NULL,0,0,
					 rcWnd.Width()+nDeltaX,
					 rcWnd.Height()+nDeltaY,
					 SWP_NOMOVE|SWP_NOZORDER);

	// Do not call CWnd::OnPaint() for painting messages
}

int CPaletteWnd::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
	if (CWnd::OnCreate(lpCreateStruct) == -1)
		return -1;
	
	// no palette, not create this window
	CDibView* pParent = (CDibView *)GetParent();
	if (! pParent->m_pDib->m_pPalette)
		return -1;

	// create color value tip
	m_ToolTip.Create(this);
	
	// change window ex-style to toolwindow
	ShowWindow(SW_HIDE);
	long lExStyle = ::GetWindowLong(m_hWnd, GWL_EXSTYLE);
	lExStyle &= ~WS_EX_APPWINDOW;	// get rid of AppWindow ex-style
	lExStyle |= WS_EX_TOOLWINDOW;	// add ToolWindow ex-style
	::SetWindowLong(m_hWnd, GWL_EXSTYLE, lExStyle);
	ShowWindow(SW_SHOWNA);

	// success return
	return 0;
}


void CPaletteWnd::OnLButtonDblClk(UINT nFlags, CPoint point) 
{
	CDibView* pParent = (CDibView *)GetParent();
	int nEntries;
	PALETTEENTRY pe[256];
	nEntries = pParent->m_pDib->m_pPalette->GetPaletteEntries(0, 256, pe);
	int nSqr = (int)sqrt((double)nEntries);
	CRect rc;
	GetClientRect(&rc);
	int nW = rc.Width()/nSqr;
	int nH = rc.Height()/nSqr;
	int x = point.x/nW;
	int y = point.y/nH;
	int i = y*nSqr + x;
	m_crSelected = RGB(pe[i].peRed, pe[i].peGreen, pe[i].peBlue);

	CWnd::OnLButtonDblClk(nFlags, point);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美亚洲国产另类| 日韩精品久久久久久| 午夜精品福利久久久| 国产福利电影一区二区三区| 欧美日韩国产一区二区三区地区| 精品少妇一区二区三区视频免付费| 亚洲乱码中文字幕| 国产精品亚洲а∨天堂免在线| 欧美日韩成人综合| 亚洲视频中文字幕| 国产精品一区二区无线| 欧美裸体一区二区三区| 一区二区三区中文免费| 国产99久久久国产精品免费看| 日韩限制级电影在线观看| 一区二区三区免费网站| 成年人网站91| 欧美国产成人在线| 国产a视频精品免费观看| 3atv在线一区二区三区| 亚洲在线观看免费| 色伊人久久综合中文字幕| 国产精品欧美久久久久一区二区| 青椒成人免费视频| 91精品国产高清一区二区三区蜜臀| 国产无人区一区二区三区| 国内精品久久久久影院色 | 成人精品国产免费网站| 欧美成人免费网站| 久久国产剧场电影| 91精品国产综合久久福利| 亚洲五码中文字幕| 欧美精选一区二区| 亚洲高清在线视频| 欧美一区二区视频网站| 午夜精品久久久久久久 | 亚洲视频综合在线| 不卡av在线网| 亚洲欧美电影一区二区| av不卡在线观看| 夜夜嗨av一区二区三区四季av| 99精品国产视频| 亚洲影院免费观看| 欧美日本一区二区三区| 麻豆精品新av中文字幕| 欧美videossexotv100| 国产精品中文欧美| 国产精品免费视频网站| 91免费在线播放| 亚洲国产综合人成综合网站| 欧美日韩国产一级片| 日韩二区三区四区| 26uuu亚洲| 成人毛片在线观看| 亚洲国产日韩一级| 26uuu另类欧美亚洲曰本| 不卡一区二区在线| 亚洲国产精品尤物yw在线观看| 91精品国模一区二区三区| 久久国内精品视频| 亚洲色图视频网站| 日韩一区二区在线观看| 国产成人av影院| 亚洲地区一二三色| 久久久久久久久久久久久女国产乱| 成人免费观看视频| 午夜久久久影院| 国产亚洲成aⅴ人片在线观看| 色综合久久九月婷婷色综合| 日韩高清在线一区| 欧美国产精品专区| 日韩一区二区三区高清免费看看| 国产资源在线一区| 亚洲成av人影院| 国产精品女主播av| 日韩欧美一二三区| 日本高清不卡视频| 国产成人午夜精品影院观看视频| 亚洲欧美一区二区三区极速播放| 日韩视频中午一区| 色综合婷婷久久| 韩国成人福利片在线播放| 亚洲一区二区偷拍精品| 久久精品亚洲一区二区三区浴池| 欧美日韩精品免费| 99久久er热在这里只有精品15| 秋霞国产午夜精品免费视频| 国产精品国产三级国产普通话99| 色偷偷久久一区二区三区| 激情小说欧美图片| 性欧美大战久久久久久久久| 久久精品一区四区| 日韩免费一区二区三区在线播放| k8久久久一区二区三区| 国产资源精品在线观看| 日韩精品乱码av一区二区| 亚洲欧美在线aaa| 国产日韩欧美激情| 欧美日韩中文国产| 欧美又粗又大又爽| 91麻豆国产香蕉久久精品| 精久久久久久久久久久| 日本成人在线不卡视频| 亚瑟在线精品视频| 午夜精彩视频在线观看不卡| 亚洲精品中文字幕乱码三区 | 国产一区二区久久| 亚洲国产综合色| 一区二区三区欧美在线观看| 国产精品久久久久影院| 国产亲近乱来精品视频| 国产亚洲成av人在线观看导航| 欧美videossexotv100| 欧美日韩国产色站一区二区三区| 在线视频欧美精品| 色av成人天堂桃色av| 91在线码无精品| 色综合天天综合网国产成人综合天 | 成人免费一区二区三区视频 | 不卡av在线网| 色婷婷av一区| 欧美系列亚洲系列| 91精品国产综合久久久蜜臀图片| 欧美日韩成人综合在线一区二区| 欧美男同性恋视频网站| 欧美片在线播放| 日韩欧美高清dvd碟片| 欧美成人猛片aaaaaaa| 久久婷婷色综合| 国产精品日产欧美久久久久| 中文字幕一区二区视频| 一区二区国产视频| 日韩黄色免费电影| 国产精品69毛片高清亚洲| 成人午夜视频网站| 欧美日韩精品专区| 久久尤物电影视频在线观看| 国产偷国产偷精品高清尤物 | 欧美三级日韩在线| 欧美一区二区黄色| 中文字幕va一区二区三区| 亚洲欧美另类图片小说| 亚洲成av人片在线观看| 激情久久久久久久久久久久久久久久| 国产成人无遮挡在线视频| 91欧美激情一区二区三区成人| 欧美群妇大交群的观看方式| 26uuu欧美| 亚洲一区欧美一区| 国产在线视视频有精品| 91麻豆蜜桃一区二区三区| 日韩色在线观看| 国产精品久久久久aaaa| 视频一区二区三区在线| 国产91精品露脸国语对白| 欧美日韩在线播放三区| 亚洲精品一区二区三区99 | 国产欧美综合在线| 亚洲第一综合色| 成人网在线免费视频| 欧美吻胸吃奶大尺度电影 | 亚洲人成网站色在线观看| 爽好多水快深点欧美视频| 成人国产精品免费观看视频| 欧美一区二区二区| 亚洲欧美日韩成人高清在线一区| 免费成人在线观看视频| 日本道免费精品一区二区三区| 精品黑人一区二区三区久久| 亚洲中国最大av网站| 丁香婷婷综合五月| 精品国产凹凸成av人网站| 亚洲福利电影网| 91网上在线视频| 国产欧美一区视频| 加勒比av一区二区| 欧美一级日韩不卡播放免费| 亚洲欧洲精品一区二区精品久久久| 美国欧美日韩国产在线播放| 在线免费观看日本欧美| 国产精品久久久久久久久免费桃花 | 狠狠色综合日日| 正在播放亚洲一区| 樱花影视一区二区| 91麻豆精品视频| 一区精品在线播放| 91黄色免费看| 一区二区三区美女| 色偷偷成人一区二区三区91| 久久久久久影视| 狠狠色丁香九九婷婷综合五月| 欧美肥妇毛茸茸| 五月天精品一区二区三区| 在线视频你懂得一区| 亚洲人成小说网站色在线 | 精品国产乱码久久久久久影片| 丝袜美腿亚洲综合| 欧美电影一区二区三区| 一个色妞综合视频在线观看| 色综合天天综合狠狠|