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

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

?? creator.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   : creator.cpp				                                         //
//  Description: Testing GDI object creation, Chapter 3                              //
//  Version    : 1.00.000, May 31, 2000                                              //
//-----------------------------------------------------------------------------------//

#define OEMRESOURCE
#define NOCRYPT
#define STRICT

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

#include "Creator.h"
#include "gditable.h"


const LPCTSTR Commands [nTotalCommands] =
{
	_T("GetStockObject(BLACK_BRUSH)"),
	_T("GetStockObject(DKGRAY_BRUSH)"), 
	_T("GetStockObject(GRAY_BRUSH)"), 
	_T("GetStockObject(HOLLOW_BRUSH)"), 
	_T("GetStockObject(LTGRAY_BRUSH)"), 
	_T("GetStockObject(NULL_BRUSH)"), 
	_T("GetStockObject(WHITE_BRUSH)"), 
	_T("GetStockObject(BLACK_PEN)"),  
	_T("GetStockObject(NULL_PEN)"),  
	_T("GetStockObject(WHITE_PEN)"),  
	_T("GetStockObject(ANSI_FIXED_FONT)"),  
	_T("GetStockObject(ANSI_VAR_FONT)"),  
	_T("GetStockObject(DEVICE_DEFAULT_FONT)"),  
	_T("GetStockObject(DEFAULT_GUI_FONT)"),  
	_T("GetStockObject(OEM_FIXED_FONT)"),  
	_T("GetStockObject(SYSTEM_FONT)"),  
	_T("GetStockObject(SYSTEM_FIXED_FONT)"),  
	_T("GetStockObject(DEFAULT_PALETTE)"),  
	
	_T("CreatePen"),
	_T("CreatePenIndirect"),
	_T("ExtCreatePen"),
	
	_T("CreateBrushIndirect"),
	_T("CreateDIBPatternBrushPt"),
	_T("CreateHatchBrush"),
	_T("CreatePatternBrush"),
	_T("CreateSolidBrush"),
	_T("GetSysColorBrush"),
	
	_T("CreateFont"),
    _T("CreateFontIndirect"),

    _T("CreateEllipticRgn"),
    _T("CreateEllipticRgnIndirect"),
    _T("CreatePolygonRgn"),
    _T("CreatePolyPolygonRgn"),
    _T("CreateRectRgn"),
    _T("CreateRectRgnIndirect"),
    _T("CreateRoundRectRgn"),
    _T("ExtCreateRegion"),
	_T("PathToRegion"),
    
	_T("CreateDC"),
    _T("CreateIC"),
    _T("CreateCompatibleDC"),

    _T("CreatePalette"),
    _T("CreateHalftonePalette"),

    _T("CreateBitmap"),
    _T("CreateBitmapIndirect"),
    _T("CreateCompatibleBitmap"),
    _T("CreateDIBitmap"),
    _T("CreatDIBSection"),
    _T("CreateDiscardableBitmap"),

    _T("CreateEnhMetaFile")
};


const LOGPEN   logpen   = 
	{ PS_SOLID, 2, RGB(0x55, 0x55, 0x55) };

const LOGBRUSH logbrush = 
	{ BS_HATCHED, RGB(0xAA, 0x55, 0xFF), HS_VERTICAL };

const LOGFONT  logfont  = 
	{ 20, 0, 0, 0, FW_NORMAL,
      FALSE, FALSE, FALSE,
      ANSI_CHARSET,
      OUT_TT_PRECIS, 
      CLIP_DEFAULT_PRECIS,
      PROOF_QUALITY,
      VARIABLE_PITCH | FF_ROMAN,
      _T("Times Roman") };

const LOGPALETTE logpalette = 
	{ 0x300, 1, { 0x44, 0x55, 0x66, PC_EXPLICIT } };

const RECT rect = 
	{ 10, 20, 400, 200 };

const POINT polygon[]  = 
	{ { 100, 100 }, { 100, 200 }, { 200, 200 }, { 200, 100 }, { 100, 100 } };

const POINT ppolygon[] = 
	{	{ 100, 100 }, { 100, 200 }, { 200, 200 }, { 200, 100 }, { 100, 100 },
		{ 150, 150 }, { 150, 250 }, { 250, 250 }, { 250, 150 }, { 150, 150 }
	};	

const int vertex[] = 
	{ 5, 5 };

typedef struct
	{
		BITMAPINFOHEADER bmiHeader; 
		unsigned char    bmiBits[8*3*8];
	} CSmallDib;

// 8x8 24 bit DIB
const CSmallDib dib = 
	{ { sizeof(BITMAPINFOHEADER), 8, 8, 1, 24,  BI_RGB,
        8*3*8, 0, 0, 0, 0
      }, 

      { 0,0,0, 1,1,1, 2,2,2, 3,3,3, 4,4,4, 5,5,5, 6,6,6, 7,7,7,
        1,1,1, 2,2,2, 3,3,3, 4,4,4, 5,5,5, 6,6,6, 7,7,7, 0,0,0, 
        2,2,2, 3,3,3, 4,4,4, 5,5,5, 6,6,6, 7,7,7, 0,0,0, 1,1,1, 
        3,3,3, 4,4,4, 5,5,5, 6,6,6, 7,7,7, 0,0,0, 1,1,1, 2,2,2, 
        4,4,4, 5,5,5, 6,6,6, 7,7,7, 0,0,0, 1,1,1, 2,2,2, 3,3,3, 
        5,5,5, 6,6,6, 7,7,7, 0,0,0, 1,1,1, 2,2,2, 3,3,3, 4,4,4, 
        6,6,6, 7,7,7, 0,0,0, 1,1,1, 2,2,2, 3,3,3, 4,4,4, 5,5,5, 
        7,7,7, 0,0,0, 1,1,1, 2,2,2, 3,3,3, 4,4,4, 5,5,5, 6,6,6 
	}
	};

unsigned bits[8] = { 1, 2, 3, 4, 5, 6, 7, 8 };

const BITMAP bitmap =
	{ 0, 8, 8, 2, 1, 1, bits }; 
 
typedef struct SimpleRegion
{
	RGNDATAHEADER header;
	RECT		  rect;
} SimpleRegion;

const SimpleRegion region =
	{
		{ sizeof(RGNDATAHEADER),
          RDH_RECTANGLES,
		  1,
		  4,
		{ 0, 0, 100, 100 }
		},
		{ 10, 10, 90, 90 }
	};

HGDIOBJ CreateObject(int cmd, HDC hDC, int seq)
{
	void * dibbits;

	switch (cmd)
	{
		case obj_BLACK_BRUSH:		
			return GetStockObject(BLACK_BRUSH);
		
		case obj_DKGRAY_BRUSH:		
			return GetStockObject(DKGRAY_BRUSH);
		
		case obj_GRAY_BRUSH:		
			return GetStockObject(GRAY_BRUSH);
		
		case obj_HOLLOW_BRUSH:		
			return GetStockObject(HOLLOW_BRUSH);
		
		case obj_LTGRAY_BRUSH:		
			return GetStockObject(LTGRAY_BRUSH);
		
		case obj_NULL_BRUSH:		
			return GetStockObject(NULL_BRUSH);
		
		case obj_WHITE_BRUSH:  
			return GetStockObject(WHITE_BRUSH);
		
		case obj_BLACK_PEN:  
			return GetStockObject(BLACK_PEN);
		
		case obj_NULL_PEN:  
			return GetStockObject(NULL_PEN);
		
		case obj_WHITE_PEN:  
			return GetStockObject(WHITE_PEN);
		
		case obj_ANSI_FIXED_FONT: 
			return GetStockObject(ANSI_FIXED_FONT);
		
		case obj_ANSI_VAR_FONT: 
			return GetStockObject(ANSI_VAR_FONT);
		
		case obj_DEVICE_DEFAULT_FONT: 
			return GetStockObject(DEVICE_DEFAULT_FONT);
		
		case obj_DEFAULT_GUI_FONT: 
			return GetStockObject(DEFAULT_GUI_FONT);
		
		case obj_OEM_FIXED_FONT: 
			return GetStockObject(OEM_FIXED_FONT);
		
		case obj_SYSTEM_FONT: 
			return GetStockObject(SYSTEM_FONT);
		
		case obj_SYSTEM_FIXED_FONT: 
			return GetStockObject(SYSTEM_FIXED_FONT);
		
		case obj_DEFAULT_PALETTE: 
			return GetStockObject(DEFAULT_PALETTE);
	
		case obj_CreatePen: 
			return CreatePen(PS_SOLID, 2, RGB(0xAA, 0xAA, 0xAA));
		
		case obj_CreatePenIndirect: 
			return CreatePenIndirect(& logpen);
        
		case obj_ExtCreatePen: 
			{
				DWORD dwStyle[13] = { 1, 9, 6, 1, 1, 4, 
					                  1, 9, 6, 1, 1, 4, 1};

				return ExtCreatePen(PS_GEOMETRIC | PS_USERSTYLE, 5, & logbrush, 13, dwStyle);
			}

        case obj_CreateBrushIndirect: 
			return CreateBrushIndirect(& logbrush);
        
		case obj_CreateDIBPatternBrushPt: 
			return CreateDIBPatternBrushPt(& dib, DIB_RGB_COLORS); 
        
		case obj_CreateHatchBrush: 
			return CreateHatchBrush(HS_CROSS, RGB(0xAA, 0xFF, 0x55));
        
		case obj_CreatePatternBrush: 
		{
			HBITMAP hClose = LoadBitmap(NULL, MAKEINTRESOURCE(OBM_CLOSE));
			
			HGDIOBJ hResult = CreatePatternBrush(hClose);

			DeleteObject(hClose);

			return hResult;
        }

		case obj_CreateSolidBrush: 
			return CreateSolidBrush(RGB(0x22, 0x33, 0x44));
        
		case obj_GetSysColorBrush: 
			return GetSysColorBrush(seq);
	
        case obj_CreateFont: 
			return CreateFont(10, 0, 0, 0, FW_NORMAL,
                       FALSE, FALSE, FALSE, ANSI_CHARSET,
                       OUT_TT_PRECIS, CLIP_DEFAULT_PRECIS,
                       PROOF_QUALITY, VARIABLE_PITCH | FF_ROMAN, "Times Roman");
        
		case obj_CreateFontIndirect: 
			{ 
				HGDIOBJ hFont = CreateFontIndirect(& logfont);

             // trying to understand pUser
			 /*	CGDITable table;
			  	GDITableCell cell = table[hFont];

			  	HGDIOBJ hOld = SelectObject(hDC, hFont);
				
			  	GDITableCell cell1 = table[hFont];

				int width[26];
			  	GetCharWidth(hDC, 'A', 'Z', width);
				
			  	GDITableCell cell2 = table[hFont];
				
			  	SelectObject(hDC, hOld);
              */
				return hFont;
			}
        
		case obj_CreateEllipticRgn: 
			return CreateEllipticRgn(0, 0, 100, 100);
        
		case obj_CreateEllipticRgnIndirect: 
			return CreateEllipticRgnIndirect(& rect);
        
		case obj_CreatePolygonRgn: 
			return CreatePolygonRgn(polygon, sizeof(polygon)/ sizeof(polygon[0]), ALTERNATE);
        
		case obj_CreatePolyPolygonRgn: 
			return CreatePolyPolygonRgn(ppolygon, vertex, 2, ALTERNATE);
        
		case obj_CreateRectRgn: 
			return CreateRectRgn(10, 10, 200, 142);
        
		case obj_CreateRectRgnIndirect: 
			return CreateRectRgnIndirect(& rect);
        
		case obj_CreateRoundRectRgn: 
			return CreateRoundRectRgn(10, 10, 200, 400, 5, 5);
        
		case obj_ExtCreateRegion: 
			return ExtCreateRegion(NULL, sizeof(region), (RGNDATA *) & region);

		case obj_PatchToRegion: 
			{
				BeginPath(hDC);
				MoveToEx(hDC, 100, 200, NULL);
				LineTo(hDC, 150, 250);		//  *       *
				LineTo(hDC, 200, 200);      //  * *   * *
				LineTo(hDC, 200, 300);      //  *   *   *
				LineTo(hDC, 100, 300);      //  *       * 
				LineTo(hDC, 100, 200);      //  *********
				CloseFigure(hDC);
				EndPath(hDC);
				return PathToRegion(hDC);
			}

	    case obj_CreateDC: 
			return CreateDC("DISPLAY", NULL, NULL, NULL);
        
		case obj_CreateIC: 
			return CreateIC("DISPLAY", NULL, NULL, NULL);
        
		case obj_CreateCompatibleDC: 
			return CreateCompatibleDC(hDC);

        case obj_CreatePalette: 
			return CreatePalette(& logpalette);
        
		case obj_CreateHalftonePalette: 
			return CreateHalftonePalette(hDC);

        case obj_CreateBitmap: 
			return CreateBitmap(10, 10, 1, 1, dib.bmiBits);
        
		case obj_CreateBitmapIndirect: 
			return CreateBitmapIndirect(& bitmap);
        
		case obj_CreateCompatibleBitmap: 
			return CreateCompatibleBitmap(hDC, 100, 100);
        
		case obj_CreateDIBitmap: 
			return CreateDIBitmap(hDC, & dib.bmiHeader, 0, NULL, NULL, DIB_RGB_COLORS);
        
		case obj_CreateDIBSection: 
			return CreateDIBSection(hDC, (BITMAPINFO *) & dib, 
					    DIB_RGB_COLORS, & dibbits, NULL, 0);

        case obj_CreateDiscardableBitmap: 
			return CreateDiscardableBitmap(hDC, 10, 10);

        case obj_CreateEnhMetaFile: 
			return CreateEnhMetaFile(hDC, NULL, & rect, "In Memory metafile");
	}

	return (HGDIOBJ) 0xFFFFFFFF;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人国产精品免费网站| 亚洲综合网站在线观看| 国产精品国产a| 亚洲一区二区三区国产| 青青草国产精品97视觉盛宴| 国产一区二区伦理| 91在线观看成人| 欧美老年两性高潮| 日本一区二区三区四区在线视频| 亚洲女同一区二区| 蜜臀精品久久久久久蜜臀| 成人午夜私人影院| 精品无码三级在线观看视频| 丁香另类激情小说| 69p69国产精品| 亚洲国产精品二十页| 午夜视黄欧洲亚洲| 国产精品亚洲专一区二区三区| 91免费在线视频观看| 欧美成人高清电影在线| 国产精品麻豆一区二区| 亚洲香肠在线观看| 国产老妇另类xxxxx| 欧美三级在线播放| 国产片一区二区三区| 视频精品一区二区| eeuss鲁一区二区三区| 91精品国产91久久久久久最新毛片| 久久久久九九视频| 天天做天天摸天天爽国产一区| 国产精品一二三四区| 欧美日韩精品是欧美日韩精品| 日韩精品一区二区三区视频在线观看 | 日韩一级黄色片| 国产精品国产三级国产aⅴ原创 | 欧美一区二区视频观看视频| 中文字幕国产一区二区| 蜜桃av一区二区在线观看| 色综合久久久久综合体| 精品sm捆绑视频| 日韩专区在线视频| 91麻豆国产精品久久| 久久这里只精品最新地址| 视频一区视频二区中文| 色老头久久综合| 国产日产欧美一区二区视频| 麻豆91免费观看| 欧美色欧美亚洲另类二区| 中文字幕欧美一| 国产成人自拍网| 欧美不卡视频一区| 丝袜a∨在线一区二区三区不卡| 91在线视频18| 中文字幕欧美区| 国产一区二区三区观看| 69堂精品视频| 性做久久久久久免费观看| 日本精品一级二级| 国产精品麻豆久久久| 成人深夜在线观看| 国产日产精品一区| 国产suv精品一区二区6| 久久午夜羞羞影院免费观看| 黄页网站大全一区二区| 日韩欧美国产精品| 美洲天堂一区二卡三卡四卡视频| 欧美日韩一级二级三级| 亚洲五月六月丁香激情| 日本高清成人免费播放| 一区二区三区在线免费视频| 91麻豆免费看片| 亚洲精品第一国产综合野| 日本乱人伦一区| 一区二区三区成人在线视频| 91高清在线观看| 亚洲精品成a人| 在线观看91视频| 亚洲高清视频中文字幕| 91精品在线免费观看| 奇米色777欧美一区二区| 欧美一区二区成人6969| 久久黄色级2电影| 精品国产乱码久久久久久久| 国产一区视频在线看| 久久精品免视看| 91在线精品一区二区| 亚洲三级电影网站| 欧美亚洲国产一区二区三区va| 亚洲妇熟xx妇色黄| 3atv在线一区二区三区| 激情小说欧美图片| 中国色在线观看另类| 99久久精品国产毛片| 亚洲综合在线五月| 这里只有精品免费| 国产精品91xxx| 最新日韩av在线| 欧美色综合久久| 毛片av一区二区| 中文字幕不卡三区| 在线视频观看一区| 捆绑紧缚一区二区三区视频| 国产午夜精品一区二区三区视频| av成人动漫在线观看| 亚洲国产日韩a在线播放性色| 欧美妇女性影城| 国产在线日韩欧美| 亚洲欧美日韩中文播放| 91精品国产综合久久久久| 国产精品资源在线看| 亚洲男人的天堂av| 7777精品伊人久久久大香线蕉超级流畅 | 成人免费黄色在线| 亚洲国产综合在线| 精品国产一区二区三区四区四| 国产精品夜夜爽| 亚洲高清视频在线| 国产人久久人人人人爽| 在线精品视频免费播放| 精品一二线国产| 亚洲精品乱码久久久久久日本蜜臀| 4438亚洲最大| 99精品1区2区| 美女爽到高潮91| 亚洲三级在线观看| 26uuu久久综合| 欧美日韩专区在线| 成人黄色一级视频| 免费成人深夜小野草| 亚洲黄色小视频| 精品国产91亚洲一区二区三区婷婷 | 日韩欧美区一区二| 91一区二区在线观看| 美女视频一区二区三区| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 欧美放荡的少妇| 91在线看国产| 国产成人av一区二区三区在线观看| 亚洲主播在线观看| 国产精品理伦片| 日韩精品一区二区三区视频播放 | 亚洲午夜久久久久久久久电影网| 国产网红主播福利一区二区| 欧美精品在线视频| 91老师片黄在线观看| 激情另类小说区图片区视频区| 亚洲午夜av在线| 亚洲视频在线观看一区| 久久女同精品一区二区| 欧美日韩不卡在线| av激情成人网| 国产精品99久久久久久宅男| 日本在线播放一区二区三区| 怡红院av一区二区三区| 中文字幕成人av| 久久久一区二区| 日韩视频免费观看高清完整版在线观看| 色94色欧美sute亚洲线路一ni| 成人av电影在线网| 国产精品一区二区三区网站| 蜜臀av一级做a爰片久久| 亚洲福利一区二区| 尤物视频一区二区| 亚洲激情av在线| 亚洲另类在线制服丝袜| 国产精品久久久久婷婷二区次| www国产精品av| 精品国产精品一区二区夜夜嗨| 欧美一二三区在线观看| 欧美日韩你懂得| 欧美在线看片a免费观看| 91麻豆国产香蕉久久精品| 99精品视频在线观看| 99久久伊人网影院| 成人一区二区三区在线观看| 国产精品一区二区91| 国产盗摄女厕一区二区三区| 欧美aaaaaa午夜精品| 久久激情五月婷婷| 精品一区二区三区影院在线午夜| 日韩国产欧美三级| 青青青伊人色综合久久| 美女精品自拍一二三四| 免费观看在线综合色| 久久激五月天综合精品| 精品一区精品二区高清| 久久精品国产第一区二区三区| 日韩成人一级大片| 在线播放/欧美激情| 这里只有精品视频在线观看| 日韩色视频在线观看| 欧美丝袜丝nylons| 欧美少妇一区二区| 欧美三级日韩在线| 91精品福利在线一区二区三区 | 亚洲视频小说图片| 国产精品伦理在线| 人人爽香蕉精品| 国产精品福利电影一区二区三区四区 | 国产精品乱人伦|