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

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

?? editview.cpp

?? Windows 圖形編程 書籍
?? CPP
字號:
//-----------------------------------------------------------------------------------//
//              Windows Graphics Programming: Win32 GDI and DirectDraw               //
//                             ISBN  0-13-086985-6                                   //
//                                                                                   //
//  Written            by  Yuan, Feng                             www.fengyuan.com   //
//  Copyright (c) 2000 by  Hewlett-Packard Company                www.hp.com         //
//  Published          by  Prentice Hall PTR, Prentice-Hall, Inc. www.phptr.com      //
//                                                                                   //
//  FileName   : editview.cpp						                                 //
//  Description: text window with hexdump support                                    //
//  Version    : 1.00.000, May 31, 2000                                              //
//-----------------------------------------------------------------------------------//

#define STRICT
#define WIN32_LEAN_AND_MEAN

#include <windows.h>
#include <assert.h>
#include <tchar.h>

#include "win.h"
#include "Canvas.h"
#include "ScrollCanvas.h"
#include "EditView.h"
#include "DDB.h"
#include "Background.h"

class KCount
{
protected:
	DWORD Used[1024];

public:	
	int   nUsed;

	KCount()
	{
		nUsed = 0;
	}

	void Check(DWORD value);
};


void KCount::Check(DWORD value)
{
	if ( nUsed>=1024 )
		return;

	for (int i=0; i<nUsed; i++)
		if ( Used[i]==value )
			return;

	Used[nUsed++] = value;
}


void Append(HWND hWnd, const TCHAR * buffer)
{
	SendMessage(hWnd, EM_SETSEL, 0xFFFFFFF, 0xFFFFFFF);
	SendMessage(hWnd, EM_REPLACESEL, 0, (LPARAM) buffer);
}


void AppendHex(HWND hWnd, const BYTE * pBuffer, int size, int unit)
{
	TCHAR text[8192];

	wsprintf(text, _T("size %d bytes\r\n\r\n"), size);
	Append(hWnd, text);

	KCount count;

	int len = 0;
    int i;
	for ( i=0; i<size; i+=16 )
	{
		wsprintf(text+len, _T("%05X: "), i); len += 7;

		if ( unit==4 )	// 32 bit
		{
			for (int j=0; j<16; j+=4) 
				if ( (i+j)<size )
				{
					DWORD value = (DWORD) * (DWORD *) (pBuffer+j);

					count.Check(value);

					wsprintf(text + len, _T("%08X "), value); len += 9;
				}
		}
		else			// 8 bit
		{
			for (int j=0; j<16; j++) 
				if ( (i+j)<size )
				{
					DWORD value = pBuffer[j];

					count.Check(value);
					wsprintf(text + len, _T("%02X "), value); len += 3;
				}
		}

		_tcscat(text + len, _T("\r\n")); len += 2;

		if ( len + MAX_PATH >= sizeof(text)/sizeof(TCHAR) )
		{
			text[len] = 0;
			Append(hWnd, text);
			len = 0;
		}
		
		pBuffer += 16;
	}

	text[len] = 0;
	Append(hWnd, text);

	wsprintf(text, _T("size %d %d bytes %d unique\r\n"), i, size, count.nUsed);
	Append(hWnd, text);
}


LRESULT KEditView::WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
	switch( uMsg )
	{
		case WM_CREATE:
			m_hWnd		= hWnd;
			m_hEdit     = CreateWindow(_T("EDIT"), NULL, 
				WS_CHILD | WS_VISIBLE | ES_AUTOVSCROLL | ES_AUTOHSCROLL | 
				ES_WANTRETURN | ES_MULTILINE | WS_HSCROLL | WS_VSCROLL,
				0, 0, 0, 0, m_hWnd, NULL, m_hInstance, NULL);

			SendMessage(m_hEdit, WM_SETFONT, (WPARAM) GetStockObject(ANSI_FIXED_FONT), 0);
			SendMessage(m_hEdit, EM_LIMITTEXT, 512 * 1024, 0);	// 512 Kb limit

//			m_pBackground = new CDDBBackground;
//			if ( m_pBackground )
//			{
//				m_pBackground->Attach(m_hEdit);
//			}				
			return 0;

		case WM_SIZE:
			MoveWindow(m_hEdit, 0, 0, LOWORD(lParam), HIWORD(lParam), TRUE);
			return 0;

//		case WM_DESTROY:
//			if ( m_pBackground )
//			{
//				m_pBackground->Detatch(m_hEdit);
//				delete m_pBackground;
//				m_pBackground = NULL;
//			}

		default:
			return CommonMDIChildProc(hWnd, uMsg, wParam, lParam, NULL, 0);
	}
}


bool KEditView::Initialize(HINSTANCE hInstance)
{
	m_hInstance = hInstance;

	RegisterClass(_T("EditView"), hInstance);
			
	return true;
}


void KEditView::Decode(DWORD m_Data, DWORD m_Type)
{
	TCHAR mess[128];

	if ( m_Type==1 )
	{
		HBITMAP hBmp = (HBITMAP) m_Data;

		wsprintf(mess, _T("DDB %x "), m_Data);
		DecodeDDB(hBmp, mess + _tcslen(mess));

		BITMAP bmp;
		GetObject(hBmp, sizeof(bmp), & bmp);

		int size = GetBitmapBits(hBmp, 0, NULL);
		BYTE * pBuffer = new BYTE[size];

		Append(m_hEdit, mess);
		Append(m_hEdit, _T("\r\n"));
			
		if ( pBuffer )
		{
			GetBitmapBits(hBmp, size, pBuffer);

			if ( bmp.bmBitsPixel==32 )
				AppendHex(m_hEdit, pBuffer, size, 4);
			else
				AppendHex(m_hEdit, pBuffer, size, 1);

			delete [] pBuffer;
		}

		mess[0] = 0;
	}
	else
		wsprintf(mess, _T("DIB %x "), m_Data);
		
	Append(m_hEdit, mess);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品久久久久久久久久久久久久久| 色天天综合久久久久综合片| 一区二区三区在线视频播放| 日韩视频永久免费| 93久久精品日日躁夜夜躁欧美| 日韩国产欧美在线观看| 日韩一区在线免费观看| 欧美成人高清电影在线| 欧美在线视频你懂得| 丰满少妇久久久久久久| 男女激情视频一区| 岛国精品在线观看| 国产亚洲成av人在线观看导航| 91浏览器入口在线观看| 亚洲视频免费观看| 在线免费观看日本一区| 午夜a成v人精品| 91精品国产综合久久小美女| 精品在线免费视频| 国产色婷婷亚洲99精品小说| 一本到不卡免费一区二区| 久久精品视频一区二区三区| 波多野结衣在线aⅴ中文字幕不卡| 亚洲gay无套男同| 亚洲天堂2016| 国产精品欧美久久久久无广告| 日韩午夜激情电影| 538在线一区二区精品国产| 成人久久久精品乱码一区二区三区| 经典三级一区二区| 日韩va欧美va亚洲va久久| 亚洲成人综合视频| 亚洲第一精品在线| 亚洲制服丝袜一区| 夜色激情一区二区| 一区二区高清免费观看影视大全| 国产精品久久夜| 国产精品久久久久天堂| 国产精品久久午夜| 中文字幕综合网| 亚洲精品乱码久久久久久黑人| |精品福利一区二区三区| 中文字幕日韩一区二区| 国产精品传媒入口麻豆| 国产精品国产成人国产三级| 中文字幕一区二区三区不卡| 欧美激情艳妇裸体舞| 中文字幕欧美三区| 国产精品乱码久久久久久| 亚洲国产高清不卡| 亚洲欧美激情在线| 亚洲第一狼人社区| 久久精品国产澳门| 国产酒店精品激情| 99久久久国产精品免费蜜臀| 一本大道久久a久久综合| 欧美性大战久久久| 91 com成人网| 国产亚洲精品福利| 伊人色综合久久天天人手人婷| 亚洲一区自拍偷拍| 美女网站色91| 99热在这里有精品免费| 欧美性色欧美a在线播放| 91精品国产欧美一区二区| 久久久久国产免费免费| 国产精品水嫩水嫩| 亚洲成av人片| 国产一区免费电影| 在线日韩av片| 欧美成人国产一区二区| 成人欧美一区二区三区| 日韩在线观看一区二区| 国产九色sp调教91| 欧美熟乱第一页| 精品99一区二区| 亚洲综合图片区| 激情综合网天天干| 日本韩国精品在线| 精品人在线二区三区| 日韩毛片高清在线播放| 麻豆精品视频在线观看免费| 成人av电影在线| 日韩一区二区在线免费观看| 国产精品电影一区二区| 日本成人超碰在线观看| hitomi一区二区三区精品| 欧美福利视频导航| 国产精品福利一区| 精品一区在线看| 欧美午夜精品免费| 国产精品白丝在线| 国产一区二区在线视频| 欧美日韩在线播放一区| 欧美国产成人在线| 麻豆精品视频在线观看| 在线精品观看国产| 国产精品人成在线观看免费 | 欧美日韩一区二区三区四区| 精品免费国产二区三区| 亚洲动漫第一页| 成人黄色小视频| 欧美成人午夜电影| 五月综合激情网| 91美女蜜桃在线| 国产视频亚洲色图| 免费亚洲电影在线| 色94色欧美sute亚洲线路一久| 26uuu精品一区二区在线观看| 亚洲地区一二三色| 色噜噜夜夜夜综合网| 国产精品国产自产拍高清av王其 | 国产精品国产馆在线真实露脸| 毛片av一区二区三区| 欧美系列在线观看| 自拍视频在线观看一区二区| 成人综合婷婷国产精品久久蜜臀| 欧美成人福利视频| 捆绑紧缚一区二区三区视频| 欧美日韩一区二区在线观看| 曰韩精品一区二区| 91视频你懂的| 中文字幕日韩精品一区| 成人永久aaa| 国产精品视频观看| 成人污视频在线观看| 欧美精彩视频一区二区三区| 经典一区二区三区| 欧美精品一区二区在线观看| 日本va欧美va瓶| 91精品国产手机| 日本va欧美va精品| 日韩午夜精品视频| 免费成人在线影院| 日韩欧美精品在线视频| 老司机精品视频导航| 欧美精品一区二区三区久久久| 九一久久久久久| 久久久亚洲精品石原莉奈| 国产一区二区三区国产| 欧美高清在线一区| 972aa.com艺术欧美| 亚洲免费高清视频在线| 日本韩国精品一区二区在线观看| 亚洲国产成人高清精品| 欧美日韩一区高清| 青青草国产精品亚洲专区无| 精品国产一区二区精华 | 在线观看免费视频综合| 亚洲一区在线视频| 91精品国产高清一区二区三区| 美国十次综合导航| 久久精品人人做人人爽人人| a美女胸又www黄视频久久| 日韩美女视频一区二区| 欧美日韩一级二级| 蜜桃av噜噜一区二区三区小说| 久久美女艺术照精彩视频福利播放| 丁香桃色午夜亚洲一区二区三区| 亚洲欧洲精品天堂一级| 欧美亚洲国产一区在线观看网站| 日韩va欧美va亚洲va久久| 精品福利视频一区二区三区| av一区二区三区黑人| 亚洲成人tv网| 国产欧美一区二区精品性| 91成人国产精品| 美女尤物国产一区| 欧美激情艳妇裸体舞| 欧美日韩一区 二区 三区 久久精品| 理论片日本一区| 亚洲女性喷水在线观看一区| 欧美日韩精品一区二区| 国产一区二区视频在线播放| 一区二区三区四区av| 欧美videofree性高清杂交| 色综合久久综合网| 老司机一区二区| 一区二区在线观看视频| 精品国产1区二区| 91蝌蚪porny| 国产在线乱码一区二区三区| 一区二区三区中文免费| 久久夜色精品一区| 色成年激情久久综合| 国产美女精品在线| 亚洲成人自拍偷拍| 欧美激情资源网| 日韩精品专区在线影院观看| 日本电影欧美片| 国产精品小仙女| 热久久久久久久| 一区二区三区中文字幕在线观看| 精品剧情在线观看| 欧美日韩中文国产| www.视频一区| 国产成人在线网站| 琪琪久久久久日韩精品| 亚洲精品国产a| 国产欧美一区二区三区在线老狼 |