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

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

?? handles.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   : handles.cpp					                                     //
//  Description: GDI handles property page, Chapter 3                                //
//  Version    : 1.00.000, May 31, 2000                                              //
//-----------------------------------------------------------------------------------//

#define STRICT

#include <windows.h>
#include <tchar.h>
#include <assert.h>
#include <ddraw.h>
#include "resource.h"
#include "creator.h"
#include "handles.h"

const LPCTSTR Numbers[] = 
{
    _T("1"),
    _T("16"),
    _T("256"),
    _T("4096"),
	_T("65536")
};


const LPCTSTR ObjTypes[] =
{
    _T("Invalid Object"),
    _T("OBJ_PEN"),
    _T("OBJ_BRUSH"),
    _T("OBJ_DC"),
    _T("OBJ_METADC"),
    _T("OBJ_PAL"),
    _T("OBJ_FONT"),       
    _T("OBJ_BITMAP"),     
    _T("OBJ_REGION"),     
    _T("OBJ_METAFILE"),   
    _T("OBJ_MEMDC"),      
    _T("OBJ_EXTPEN"),     
    _T("OBJ_ENHMETADC"),  
    _T("OBJ_ENHMETAFILE")
};


LPCTSTR GetObjectTypeName(HGDIOBJ Handle)
{
	return ObjTypes[GetObjectType(Handle)];
}


BOOL KHGDIOBJ::Generate(HWND rslt, bool search)
{
    if (m_nCreator < 0) return FALSE;
    if (m_nCopy    < 0) return FALSE;

    int repeat = 1;
    for (int i=0; i<m_nCopy; i++)
        repeat *= 16;

    HGDIOBJ last = NULL;

    for (i=0; i<repeat; i++)
    {
        TCHAR temp[64];
		HGDIOBJ handle = CreateObject(m_nCreator, m_hDCScreen, i);

        if ( (handle == last) || (handle == (HGDIOBJ) 0xFFFFFFFF) )
            break;

        wsprintf(temp, "%08lx %s %d", handle, Commands[m_nCreator], i);
        SendMessage(rslt, LB_ADDSTRING, 0, (LPARAM) temp);
            
        last = handle;
    }

    if ( last)
	{
		// find all top level dialog box ( propertysheet )
		for (HWND hWnd = NULL; hWnd = FindWindowEx(NULL, hWnd, WC_DIALOG, NULL); )
		{
			// locate it's fisrt child ( propertypage 0 )
			HWND hChild = GetWindow(hWnd, GW_CHILD);

			// send a message to it
			if (hChild)
				SendMessage(hChild, WM_SHAREHANDLE, (WPARAM) last, GetCurrentProcessId());
		}
	}

    return TRUE;
}


HRESULT DirectDrawTest(HWND hWnd)
{
	LPDIRECTDRAW lpdd;

	HRESULT hr = DirectDrawCreate(NULL, & lpdd, NULL);

	DWORD i = GetCurrentThreadId();

	if ( hr == DD_OK )
	{
		LPDIRECTDRAW lpdd2;

		hr = DirectDrawCreate(NULL, & lpdd2, NULL);

		lpdd->SetCooperativeLevel(hWnd, DDSCL_NORMAL);
	
		DDSURFACEDESC ddsd;
		ddsd.dwSize = sizeof(ddsd);
		ddsd.dwFlags = DDSD_CAPS;
		ddsd.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE;
	
		LPDIRECTDRAWSURFACE lpddsprimary;

		hr = lpdd->CreateSurface(&ddsd, &lpddsprimary, NULL);
		if ( hr == DD_OK )
		{
			char mess[MAX_PATH];

			wsprintf(mess, 
				"DirectDraw object at %x, vtable at %x\n"
	            "DirectDraw surface object at %x, vtable at %x",
				lpdd, * (unsigned *) lpdd, 
				lpddsprimary, * (unsigned *) lpddsprimary);
			MessageBox(NULL, mess, "DirectDrawTest", MB_OK);

			lpddsprimary->Release();
		}

		lpdd->Release();
	}

	return hr;
}


BOOL KHGDIOBJ::OnInitDialog(HWND hWnd, WPARAM wParam, LPARAM lParam)
{
	m_hWnd		   = hWnd;
	m_hDCScreen    = GetDC(hWnd);
    WM_SHAREHANDLE = RegisterWindowMessage("WM_SHAREHANDLE");

    for (int i=0; i<nTotalCommands; i++)
		SendDlgItemMessage(hWnd, IDC_COMMAND, CB_ADDSTRING, 0, (LPARAM) Commands[i]);
    SendDlgItemMessage(hWnd, IDC_COMMAND, CB_SETCURSEL, 0, 0);

    for (i=0; i<sizeof(Numbers)/sizeof(Numbers[0]); i++)
		SendDlgItemMessage(hWnd, IDC_NUMBER, CB_ADDSTRING, 0, (LPARAM) Numbers[i]);
    SendDlgItemMessage(hWnd, IDC_NUMBER, CB_SETCURSEL, 0, 0);

	DirectDrawTest(hWnd);

	return TRUE;
}


BOOL KHGDIOBJ::OnCommand(HWND hWnd, WPARAM wParam, LPARAM lParam)
{
    if (LOWORD(wParam) == IDC_CREATE)
    {
        m_nCreator = SendDlgItemMessage(hWnd, IDC_COMMAND, CB_GETCURSEL, 0, 0);
        m_nCopy    = SendDlgItemMessage(hWnd, IDC_NUMBER,  CB_GETCURSEL, 0, 0);

        Generate(GetDlgItem(hWnd, IDC_RESULT), FALSE);

        return TRUE;
    }

	return FALSE;
}


BOOL KHGDIOBJ::DlgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
    if ( uMsg == WM_SHAREHANDLE )
    {
        TCHAR Mess[MAX_PATH];

        wsprintf(Mess, "Object created in process 0x%X, GetObjectType (0x%x) returns %d, %s",
                            lParam, wParam, GetObjectType((HGDIOBJ) wParam),
                            GetObjectTypeName((HGDIOBJ) wParam));

		if ( GetObjectType((HGDIOBJ) wParam)==OBJ_REGION )
			wsprintf(Mess+strlen(Mess), "rgnsize %d", GetRegionData((HRGN) wParam, 0, NULL));

        SetDlgItemText(hWnd, IDC_SHAREHANDLE, Mess);

        return TRUE;
    }

    switch (uMsg)
    {
	    case WM_INITDIALOG:
		    return OnInitDialog(hWnd, wParam, lParam);

	    case WM_COMMAND:
		    return OnCommand(hWnd, wParam, lParam);
    }
    
    return FALSE;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲一本大道中文在线| 91国偷自产一区二区三区观看| 日本aⅴ免费视频一区二区三区| 国产精品丝袜91| 精品国产百合女同互慰| 3d动漫精品啪啪| 欧美精品少妇一区二区三区 | 不卡一卡二卡三乱码免费网站| 99国产欧美另类久久久精品| 国产精品丝袜在线| 91丨九色丨国产丨porny| 北条麻妃国产九九精品视频| 成人深夜福利app| 丁香啪啪综合成人亚洲小说 | 91亚洲精品乱码久久久久久蜜桃 | 欧美一区二区三区婷婷月色| 欧美午夜精品一区二区三区| 欧美日韩国产综合草草| 911国产精品| 日韩欧美一级精品久久| 久久美女艺术照精彩视频福利播放 | 樱桃国产成人精品视频| 亚洲伊人伊色伊影伊综合网| 亚洲444eee在线观看| 免费观看日韩av| 国产高清在线精品| 91同城在线观看| 亚洲天堂久久久久久久| 91在线porny国产在线看| 蜜臀va亚洲va欧美va天堂| 蜜桃视频一区二区三区在线观看| 久久99最新地址| 成人免费视频app| 欧美影院精品一区| 日韩精品一区二区三区中文不卡| xf在线a精品一区二区视频网站| 日本一区二区三区电影| 一区二区三区91| 日本丶国产丶欧美色综合| 欧美日精品一区视频| 日韩亚洲欧美综合| 国产亚洲欧美在线| 一区二区在线电影| 精品一区二区三区蜜桃| 成人av电影免费在线播放| 欧美性猛交xxxxxx富婆| 日韩一区二区三区电影| 亚洲欧洲三级电影| 天天色 色综合| 成人国产视频在线观看 | 国产亚洲一二三区| 一区二区三区成人在线视频| 精品一二线国产| 9人人澡人人爽人人精品| 欧美精品色一区二区三区| 久久久久国产精品麻豆| 日韩一区在线看| 看片的网站亚洲| 色悠久久久久综合欧美99| 久久久久亚洲蜜桃| 视频一区二区三区在线| 不卡电影免费在线播放一区| 日韩欧美中文一区二区| 亚洲视频在线观看三级| 国产酒店精品激情| 7777精品伊人久久久大香线蕉完整版 | 五月天欧美精品| 国产精品1区二区.| 欧美精品日韩一本| 亚洲女同一区二区| 顶级嫩模精品视频在线看| 91精品免费在线观看| 亚洲视频在线观看三级| 国产成人午夜精品5599| 日韩欧美亚洲一区二区| 亚洲成av人**亚洲成av**| 91在线精品一区二区三区| 精品国产电影一区二区| 日韩av一区二区三区| 欧美在线免费观看亚洲| 日韩理论在线观看| 成人免费视频app| 久久久久久久久免费| 久久99精品一区二区三区| 91麻豆精品国产无毒不卡在线观看 | 国产精品久久久久久久久晋中| 麻豆传媒一区二区三区| 精品视频1区2区3区| 亚洲精品福利视频网站| 99综合电影在线视频| 国产精品伦一区二区三级视频| 国产中文字幕精品| 欧美成人艳星乳罩| 美腿丝袜亚洲一区| 欧美一级一级性生活免费录像| 亚洲二区在线视频| 欧美色网一区二区| 亚洲一区二区三区在线看| 欧美一a一片一级一片| 亚洲美腿欧美偷拍| 99精品久久免费看蜜臀剧情介绍| 中文字幕一区免费在线观看| 成人免费不卡视频| 欧美视频一区二区| 国产午夜精品理论片a级大结局| 久久99日本精品| 日韩精品专区在线影院观看| 日本在线播放一区二区三区| 欧美猛男gaygay网站| 午夜亚洲福利老司机| 欧美日韩精品一区二区三区 | 国产一区999| 精品国产乱码久久久久久久| 麻豆精品一区二区| 欧美videos中文字幕| 国产一区二区三区最好精华液| 亚洲精品一区二区三区香蕉| 国产激情视频一区二区三区欧美| 久久精品视频一区二区三区| 国产99精品国产| 中文字幕一区av| 91传媒视频在线播放| 日韩成人av影视| 精品日韩一区二区| 国产91精品免费| 一区二区三区不卡在线观看| 欧美性色aⅴ视频一区日韩精品| 国产精品久久久久影院色老大| av不卡免费在线观看| 亚洲 欧美综合在线网络| 欧美一级欧美一级在线播放| 国产在线精品一区二区| 国产精品少妇自拍| 欧洲在线/亚洲| 精品亚洲aⅴ乱码一区二区三区| 久久日一线二线三线suv| 一本到不卡精品视频在线观看 | 欧美日韩一级黄| 欧美一a一片一级一片| av不卡免费电影| 成年人午夜久久久| 成人国产亚洲欧美成人综合网| 国产制服丝袜一区| 国产精品资源网| 国产盗摄一区二区三区| 九色|91porny| 国产一区二区三区av电影| 高清beeg欧美| 一区二区久久久久久| 欧美一卡二卡在线| 波多野结衣中文字幕一区| 亚洲国产中文字幕在线视频综合| 欧美一级高清片在线观看| 成人一区二区三区在线观看| 亚洲综合色视频| 久久久久久97三级| 欧美日韩精品一二三区| 国产.欧美.日韩| 丝袜美腿亚洲色图| 中文字幕乱码亚洲精品一区| 欧美亚洲综合色| 日韩欧美在线123| 香蕉影视欧美成人| 久久伊人蜜桃av一区二区| 欧美无人高清视频在线观看| 亚洲欧美日韩成人高清在线一区| 成人毛片在线观看| 免播放器亚洲一区| 亚洲视频网在线直播| 亚洲精品在线免费播放| 欧美天堂亚洲电影院在线播放| 国产99精品在线观看| 免费欧美高清视频| 一区二区三区加勒比av| 国产农村妇女毛片精品久久麻豆| 欧美日韩国产综合视频在线观看 | 成人综合婷婷国产精品久久蜜臀| 视频在线观看91| 亚洲色图清纯唯美| 国产调教视频一区| 精品国产乱码久久久久久牛牛| 在线欧美一区二区| 99久久综合精品| 国产精品原创巨作av| 免费成人你懂的| 日韩和欧美一区二区三区| 亚洲丝袜另类动漫二区| 欧美国产丝袜视频| 久久综合资源网| 精品国精品国产| 欧美一区二区三区四区高清| 色八戒一区二区三区| 不卡的看片网站| 成人综合激情网| 国产一区 二区 三区一级| 伦理电影国产精品| 免费av成人在线| 看片的网站亚洲| 精品夜夜嗨av一区二区三区| 青娱乐精品在线视频|