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

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

?? ~gridstatic.~cpp

?? 實時監控
?? ~CPP
字號:
 // GridStatic.cpp : implementation file
//

#include "stdafx.h"
#include "../Resource.h"
#include "GridStatic.h"
#include "bmp_file.cpp"

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

/////////////////////////////////////////////////////////////////////////////
// CGridStatic

CGridStatic::CGridStatic(): index(0), r(8), c(8), drawing_grid(false)
{
	mask.alloc(r);
}

CGridStatic::~CGridStatic()
{
}


BEGIN_MESSAGE_MAP(CGridStatic, CStatic)
	//{{AFX_MSG_MAP(CGridStatic)
	ON_WM_PAINT()
	ON_WM_ERASEBKGND()
	ON_WM_LBUTTONDOWN()
	ON_WM_RBUTTONDOWN()
	ON_WM_ENABLE()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CGridStatic message handlers

bool CGridStatic::init()
{
//	set_grid(8,8);

	CRect rc;
	GetWindowRect(rc);
	int w = rc.Width()/c;
	int h = rc.Height()/r;

	rc.right = rc.left + w*c;
	rc.bottom = rc.top + h*r;
	MoveWindow(rc);

	//bf.load_from_file(_T("sunflower.bmp"));
	bf.load_from_res(IDB_SUNFLOWER);
//	bf.v_invert();

	ModifyStyle(0, SS_NOTIFY, 0);

	bmp.LoadBitmap(IDB_SUNFLOWER);

	return true;
}

void CGridStatic::destroy()
{
}

void CGridStatic::draw_text(CDC& dc, LPCTSTR lpsz)
{
	CFont font;
	font.CreatePointFont(80, _T("Arial"), &dc);
	CFont* old = dc.SelectObject(&font);
	dc.SetBkMode(TRANSPARENT);
	dc.SetTextColor(RGB(255,255,255));
	dc.TextOut(2,2,lpsz);
	dc.SetTextColor(RGB(0,0,0));
	dc.TextOut(1,1,lpsz);
	dc.SelectObject(old);
}

#include "memdc.h"

// DrawBitmap	- Draws a bitmap (DDB & DIB section) onto a device
// pDC		- Pointer to a device context
// hBitmap	- Handle of the bitmap
// hPal		- Handle of a logical palette associated with the bitmap
// xDest	- x-coordinate of the upper-left corner of the destination rect
// yDest	- y-coordinate of the upper-left corner of the destination rect
void DrawBitmap( CDC *pDC, HBITMAP hBitmap, HPALETTE hPal, int xDest, int yDest,
				int wDest, int hDest)
{
	// Get logical coordinates
	BITMAP bm;
	::GetObject( hBitmap, sizeof( bm ), &bm );
	CPoint size( bm.bmWidth, bm.bmHeight );
	pDC->DPtoLP(&size);
	
	CPoint org(0,0);
	pDC->DPtoLP(&org);
	
	// Create a memory DC compatible with the destination DC
	CDC memDC;
	memDC.CreateCompatibleDC( pDC );
	memDC.SetMapMode( pDC->GetMapMode() );
	
	//memDC.SelectObject( &bitmap );
	HBITMAP hBmOld = (HBITMAP)::SelectObject( memDC.m_hDC, hBitmap );
	
	
	// Select and realize the palette
	if( hPal && pDC->GetDeviceCaps(RASTERCAPS) & RC_PALETTE)
	{
		SelectPalette( pDC->GetSafeHdc(), hPal, FALSE );
		pDC->RealizePalette();
	}
	else
	{
		pDC->SetStretchBltMode(COLORONCOLOR);
	}
	//pDC->StretchBlt(xDest, yDest, wDest, hDest, &memDC, org.x, org.y,
	//	size.x, size.y, SRCCOPY);
	
	pDC->StretchBlt(xDest, yDest, wDest, hDest, &memDC, org.x, org.y,
		size.x, size.y, SRCCOPY);

	::SelectObject( memDC.m_hDC, hBmOld );
}

void CGridStatic::OnPaint() 
{
	CPaintDC dc(this); // device context for painting
	CRect rc;
	GetClientRect(rc);

	CMemDC memdc(&dc, rc);
	//bf.draw(&memdc, rc);
	BITMAP bm;
	bmp.GetBitmap(&bm);
	DrawBitmap(&memdc, bmp, NULL, 0, 0, rc.Width(), rc.Height());

	draw_frames(memdc, rc);
	darken_frame(memdc, rc);

	if( drawing_grid )
		if( !text.IsEmpty() )
			draw_text(memdc, text);
	
	memdc.FrameRect(rc, &CBrush(RGB(255,255,255)));
}

BOOL CGridStatic::OnEraseBkgnd(CDC* pDC) 
{
	return TRUE;
}

void CGridStatic::set_index(int _index)
{
	index = _index;
	text.Format(_T("Ch %02d"), index);
	update();
}

void CGridStatic::update()
{
	RedrawWindow();
}

void CGridStatic::set_grid(int rows, int cols)
{
	r = rows;
	c = cols;
	drawing_grid = true;
	if( !mask )
		mask.alloc(rows);

	update();

}

void CGridStatic::clear_grid()
{
	drawing_grid = false;
	mask.remove_all();
	update();
}

// 填充
void CGridStatic::darken_grid(CDC& dc, CRect rc)
{
	DWORD pixel;
	for( int i=rc.top; i<rc.bottom; i++ )
		for( int j=rc.left; j<rc.right; j++ )
		{
			pixel = dc.GetPixel(CPoint(j, i));
			dc.SetPixel(CPoint(j,i), (~pixel & 0x00ffffff));
		}
}

// 畫黑格
void CGridStatic::darken_frame(CDC& dc, CRect rc)
{
	if( !drawing_grid )
		return;
	
	for(int i=0; i<r; i++ )
	{
		for( int j=0; j<c; j++ )
		{
			if( mask.is_set(j, i) )
			{
				int left = rc.left + j*(rc.Width()/r);
				int top = rc.top + i*(rc.Height()/c);
				int right = left + rc.Width()/r;
				int bottom = top + rc.Height()/c;
				
				dc.MoveTo(left, top);
				
				dc.SelectStockObject(BLACK_PEN);
				dc.LineTo(right, top);
				dc.LineTo(right, bottom);
				dc.LineTo(left, bottom);
				dc.LineTo(left, top);
				darken_grid(dc, CRect(left, top, right, bottom));
			}
		}
	}
}

void CGridStatic::draw_frames(CDC& dc, CRect rc)
{
	if( !IsWindow(m_hWnd) )
		return;
	if( c == 0 ||
		r == 0 )
		return;
	if( !drawing_grid )
		return;

	dc.SelectStockObject(WHITE_PEN);

	int w = rc.Width()/(c);
	int h = rc.Height()/(r);
	for( int i=rc.left+w; i<=rc.right-w; i+= w )
	{
		dc.MoveTo(i, rc.top);
		dc.LineTo(i, rc.bottom);
	}
	for( i=rc.top+h; i<=rc.bottom-h; i+= h )
	{
		dc.MoveTo(rc.left, i);
		dc.LineTo(rc.right, i);
	}

}

void CGridStatic::calc_mask(CPoint pt, int& x, int& y)
{
	CRect rc;
	GetClientRect(rc);

	x = ((pt.x-rc.left)*10/(rc.Width()/c)/10);
	y = ((pt.y-rc.top)*10/(rc.Height()/r)/10);
}

void CGridStatic::OnLButtonDown(UINT nFlags, CPoint point) 
{
	if( drawing_grid )
	{
		int x, y;
		calc_mask(point, x, y);
		mask.toggle(x,y);

		update();
	}

	CStatic::OnLButtonDown(nFlags, point);
}

void CGridStatic::OnRButtonDown(UINT nFlags, CPoint point) 
{
	SHORT k = GetAsyncKeyState(VK_CONTROL);
	if( k )
	{
		mask.select_all();
	}
	else
	{
		mask.remove_all();
	}
	update();
	CStatic::OnRButtonDown(nFlags, point);
}

byte* CGridStatic::mask_data()
{
	return mask;
}

void CGridStatic::OnEnable(BOOL bEnable)
{

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
婷婷国产在线综合| 国产精品不卡一区二区三区| 国产呦萝稀缺另类资源| 亚洲精品videosex极品| 26uuu欧美| 欧美三级日本三级少妇99| 狠狠色丁香婷婷综合| 亚洲丶国产丶欧美一区二区三区| 久久欧美中文字幕| 91精品国产全国免费观看| 一本色道久久综合亚洲aⅴ蜜桃 | 欧美成人vr18sexvr| 色婷婷激情综合| 成人精品小蝌蚪| 蜜臀久久99精品久久久久久9| 亚洲免费观看在线视频| 一色屋精品亚洲香蕉网站| 久久精品亚洲乱码伦伦中文 | 欧美日韩成人在线一区| 91蝌蚪porny| 99热在这里有精品免费| 国产91精品精华液一区二区三区| 久久99精品久久久久久国产越南 | 日韩av高清在线观看| 一区二区日韩av| 亚洲精品第一国产综合野| 亚洲激情综合网| 国产成人午夜片在线观看高清观看| 五月婷婷激情综合| 亚洲电影第三页| 日本中文字幕一区二区有限公司| 三级在线观看一区二区| 麻豆国产欧美一区二区三区| 久久精品国内一区二区三区| 国产一区二区福利| 国产美女一区二区| 国产一区二区不卡| 成人网页在线观看| 色婷婷久久综合| 欧美一区二区三区视频在线| 日韩欧美一二区| 国产精品久久久久影院老司 | av毛片久久久久**hd| 欧美日韩国产123区| 欧美大度的电影原声| 中文字幕一区二区三区乱码在线| 日日欢夜夜爽一区| 国产精品亚洲人在线观看| 欧洲一区二区三区在线| 久久婷婷色综合| 一二三四社区欧美黄| 久久电影国产免费久久电影| 国产大陆精品国产| 91麻豆精品国产91久久久资源速度 | 麻豆视频一区二区| k8久久久一区二区三区| 欧美老肥妇做.爰bbww| 欧美极品美女视频| 麻豆精品视频在线| 欧美日韩成人综合天天影院| 中日韩av电影| 国产精品主播直播| 欧美一卡二卡三卡四卡| 亚洲一区视频在线| 99国产一区二区三精品乱码| 久久美女艺术照精彩视频福利播放| 亚洲va欧美va国产va天堂影院| 91在线国产观看| 亚洲精品国产一区二区精华液| 色综合久久天天| 日韩视频一区在线观看| 欧美成人一区二区三区| 亚洲麻豆国产自偷在线| 欧美在线视频全部完| 亚洲成人精品一区| 欧美日韩高清一区二区不卡| 一区免费观看视频| 成人免费毛片aaaaa**| 国产精品视频yy9299一区| 国产成人免费在线观看不卡| www国产亚洲精品久久麻豆| 懂色av一区二区夜夜嗨| 亚洲免费视频中文字幕| 欧美美女喷水视频| 天堂成人国产精品一区| 日韩色视频在线观看| 激情欧美一区二区| 欧美国产精品一区二区三区| 91老师国产黑色丝袜在线| 午夜精品福利一区二区三区av | www国产亚洲精品久久麻豆| 激情六月婷婷综合| 国产精品午夜在线| 欧美午夜精品一区二区三区 | 极品瑜伽女神91| 欧美高清在线精品一区| 欧美精品日韩精品| 国产成人在线影院| 亚洲成人综合网站| 国产欧美日韩不卡| 3751色影院一区二区三区| 国产精品123| 香蕉久久夜色精品国产使用方法| 久久伊99综合婷婷久久伊| 欧美午夜精品理论片a级按摩| 高清不卡一区二区在线| 青青草原综合久久大伊人精品| 成人欧美一区二区三区在线播放| 欧美性受xxxx| 91在线高清观看| 成人三级在线视频| 国产在线精品一区二区夜色 | 午夜激情一区二区三区| 国产精品久久久久影院色老大 | 中文字幕+乱码+中文字幕一区| 在线视频观看一区| 99精品视频在线观看| 99视频精品免费视频| 狠狠色综合日日| 精品一区二区三区久久久| 日韩福利电影在线| 亚洲bt欧美bt精品777| 亚洲精选视频免费看| 一区二区三区在线视频播放| 亚洲女性喷水在线观看一区| 一区二区三区中文免费| 亚洲人成在线观看一区二区| 国产色综合一区| 日本一区二区电影| 国产精品久久久久国产精品日日| 国产三级一区二区三区| 国产精品久久久久久久久晋中| 国产精品污网站| 亚洲视频香蕉人妖| 一区二区三区在线免费视频| 亚洲欧美成aⅴ人在线观看| 亚洲高清免费观看 | 欧美久久一二区| 日韩欧美高清dvd碟片| 精品成人a区在线观看| 国产精品传媒入口麻豆| 亚洲成人av一区二区| 国产一区二区三区免费看| 97se亚洲国产综合自在线不卡 | 一区二区三区不卡在线观看| 人妖欧美一区二区| 色悠久久久久综合欧美99| 这里只有精品99re| 国产精品久久久久久久久免费丝袜 | 一区二区中文视频| 久色婷婷小香蕉久久| 高清久久久久久| 欧美高清视频一二三区| 国产日产欧美一区| 亚洲va欧美va人人爽午夜| 99精品国产一区二区三区不卡| 欧美岛国在线观看| 亚洲综合免费观看高清在线观看| 国产在线精品一区二区三区不卡 | 视频一区国产视频| av电影天堂一区二区在线观看| 91麻豆精品国产综合久久久久久| 中文字幕日韩av资源站| 国产一区二区网址| 欧美成人官网二区| 日本va欧美va欧美va精品| 日本韩国欧美一区| 国产精品视频一二三| 国产成人精品1024| 久久夜色精品一区| 国产一区二区导航在线播放| 欧美一级一区二区| 视频在线在亚洲| 91精品国产综合久久精品| 亚洲午夜激情网页| 欧美卡1卡2卡| 视频一区二区三区中文字幕| 欧美调教femdomvk| 亚洲一级不卡视频| av一区二区三区在线| 久久久无码精品亚洲日韩按摩| 精品一二三四区| 精品国产伦一区二区三区免费| 麻豆精品一区二区综合av| 日韩精品专区在线影院重磅| 国产麻豆精品theporn| 精品国产一区二区三区忘忧草| 久久国产乱子精品免费女| 精品国产成人系列| 国产一二三精品| 国产精品乱子久久久久| 国产99精品在线观看| 亚洲欧美一区二区久久 | 国产欧美一区二区精品婷婷| 国产成人亚洲综合a∨猫咪| 国产精品日日摸夜夜摸av| 色哟哟精品一区| 免费成人美女在线观看| 亚洲乱码中文字幕| 久久蜜桃av一区精品变态类天堂|