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

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

?? render.cpp

?? 英文版的 想要的話可以下載了 為大家服務
?? CPP
字號:
/*
 * RENDER.CPP
 * Data Object Chapter 10
 *
 * CDataObject::Render* functions to create text, bitmaps, and
 * metafiles in a variety of sizes.
 *
 * Copyright (c)1993-1995 Microsoft Corporation, All Rights Reserved
 *
 * Kraig Brockschmidt, Microsoft
 * Internet  :  kraigb@microsoft.com
 * Compuserve:  >INTERNET:kraigb@microsoft.com
 */


#include "dataobj.h"
#include <string.h>


/*
 * CDataObject::RenderText
 *
 * Purpose:
 *  Creates a global memory block containing the letter 'k' of sizes
 *  of 64 bytes, 1024 bytes, and 16384 bytes, into a caller-supplied
 *  STGMEDIUM.
 *
 * Parameters:
 *  pSTM            LPSTGMEDIUM in which to render.
 *
 * Return Value:
 *  HRESULT         Return value for GetData
 */

HRESULT CDataObject::RenderText(LPSTGMEDIUM pSTM)
    {
    DWORD       cch;
    HGLOBAL     hMem;
    LPTSTR      psz;
    UINT        i;

    //Get the size of data we're dealing with
    switch (m_iSize)
        {
        case DOSIZE_SMALL:
            cch=CCHTEXTSMALL;
            break;

        case DOSIZE_MEDIUM:
            cch=CCHTEXTMEDIUM;
            break;

        case DOSIZE_LARGE:
            cch=CCHTEXTLARGE;
            break;

        default:
            return ResultFromScode(E_FAIL);
        }

    hMem=GlobalAlloc(GMEM_SHARE | GMEM_MOVEABLE, cch*sizeof(TCHAR));

    if (NULL==hMem)
        return ResultFromScode(STG_E_MEDIUMFULL);

    psz=(LPTSTR)GlobalLock(hMem);

    for (i=0; i < cch-1; i++)
        *(psz+i)=TEXT(' ') + (i % 32);

    *(psz+i)=0;

    GlobalUnlock(hMem);

    pSTM->hGlobal=hMem;
    pSTM->tymed=TYMED_HGLOBAL;
    pSTM->pUnkForRelease=NULL;
    return NOERROR;
    }




/*
 * CDataObject::RenderBitmap
 *
 * Purpose:
 *  Creates a new bitmap into which we copy a bitmap loaded
 *  from our resources.
 *
 * Parameters:
 *  pSTM            LPSTGMEDIUM in which to render.
 *
 * Return Value:
 *  HRESULT         Return value for GetData
 */

HRESULT CDataObject::RenderBitmap(LPSTGMEDIUM pSTM)
    {
    HBITMAP     hBmp, hBmpT;
    UINT        cxy;
    HDC         hDC, hDCSrc, hDCDst;

    //Get the size of bitmap we're dealing with
    switch (m_iSize)
        {
        case DOSIZE_SMALL:
            cxy=CXYBITMAPSMALL;
            break;

        case DOSIZE_MEDIUM:
            cxy=CXYBITMAPMEDIUM;
            break;

        case DOSIZE_LARGE:
            cxy=CXYBITMAPLARGE;
            break;

        default:
            return ResultFromScode(E_FAIL);
        }

    //Get two memory DCs between which to BitBlt.
    hDC=GetDC(NULL);
    hDCSrc=CreateCompatibleDC(hDC);
    hDCDst=CreateCompatibleDC(hDC);
    ReleaseDC(NULL, hDC);

    if (NULL==hDCSrc || NULL==hDCDst)
        {
        if (NULL!=hDCDst)
            DeleteDC(hDCDst);

        if (NULL!=hDCSrc)
            DeleteDC(hDCSrc);

        return ResultFromScode(STG_E_MEDIUMFULL);
        }

    SelectObject(hDCSrc, m_rghBmp[m_iSize-DOSIZE_SMALL]);

    hBmp=CreateCompatibleBitmap(hDCSrc, cxy, cxy);

    if (NULL==hBmp)
        {
        DeleteDC(hDCDst);
        DeleteDC(hDCSrc);

        return ResultFromScode(STG_E_MEDIUMFULL);
        }

    //Copy from the source to destination
    hBmpT=(HBITMAP)SelectObject(hDCDst, hBmp);
    BitBlt(hDCDst, 0, 0, cxy, cxy, hDCSrc, 0, 0, SRCCOPY);
    SelectObject(hDCDst, hBmpT);

    DeleteDC(hDCDst);
    DeleteDC(hDCSrc);

    pSTM->hGlobal=(HGLOBAL)hBmp;
    pSTM->tymed=TYMED_GDI;
    pSTM->pUnkForRelease=NULL;
    return NOERROR;
    }






/*
 * CDataObject::RenderMetafilePict
 *
 * Purpose:
 *  Creates a metafile containing blue shaded bands.
 *
 * Parameters:
 *  pSTM            LPSTGMEDIUM in which to render.
 *
 * Return Value:
 *  HRESULT         Return value for GetData
 */

HRESULT CDataObject::RenderMetafilePict(LPSTGMEDIUM pSTM)
    {
    HDC             hDC;
    HGLOBAL         hMem;
    HMETAFILE       hMF;
    LPMETAFILEPICT  pMF;
    HBRUSH          hBrush;
    HGDIOBJ         hBrT;
    UINT            cRec;
    int             x, y, dxy;
    RECT            rc;

    switch (m_iSize)
        {
        case DOSIZE_SMALL:
            cRec=CRECMETAFILESMALL;
            break;

        case DOSIZE_MEDIUM:
            cRec=CRECMETAFILEMEDIUM;
            break;

        case DOSIZE_LARGE:
            cRec=CRECMETAFILELARGE;
            break;

        default:
            return ResultFromScode(E_FAIL);
        }


    hDC=(HDC)CreateMetaFile(NULL);

    if (NULL!=hDC)
        {
        /*
         * Draw something into the metafile.  For this object we
         * draw some number of rectangles equal to the number of
         * records we want.  So take the square root of the number
         * of records and iterate over that number in both x & y.
         */

        dxy=(int)1024/cRec;


        //This creates a blue shading from light to dark
        for (y=1024; y >=0; y-=dxy)
            {
            hBrush=CreateSolidBrush(RGB(0, 0, (1024-y)/4));
            hBrT=SelectObject(hDC, (HGDIOBJ)hBrush);

            for (x=0; x < 1024; x+=dxy)
                {
                SetRect(&rc, x, y, x+dxy, y+dxy);
                FillRect(hDC, &rc, hBrush);
                }

            SelectObject(hDC, hBrT);
            DeleteObject(hBrush);
            }

        hMF=CloseMetaFile(hDC);
        }

    if (NULL==hMF)
        return ResultFromScode(STG_E_MEDIUMFULL);

    //Allocate the METAFILEPICT structure.
    hMem=GlobalAlloc(GMEM_SHARE | GMEM_MOVEABLE
        , sizeof(METAFILEPICT));

    if (NULL==hMem)
        {
        DeleteMetaFile(hMF);
        return ResultFromScode(STG_E_MEDIUMFULL);
        }

    pMF=(LPMETAFILEPICT)GlobalLock(hMem);

    pMF->hMF=hMF;
    pMF->mm=MM_ANISOTROPIC;
    pMF->xExt=1024;
    pMF->yExt=1024;

    GlobalUnlock(hMem);

    pSTM->hGlobal=hMem;
    pSTM->tymed=TYMED_MFPICT;
    pSTM->pUnkForRelease=NULL;
    return NOERROR;
    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人精品视频一区二区三区尤物| 亚洲一区二区三区四区的| 蜜臀国产一区二区三区在线播放| 欧美成人a∨高清免费观看| 婷婷一区二区三区| 欧美卡1卡2卡| 久久国产精品99精品国产| 精品国产乱码久久久久久影片| 久久99热国产| 国产精品拍天天在线| 91网站在线观看视频| 一区二区三区欧美日| 欧美日韩精品免费| 另类小说色综合网站| 日本一区二区在线不卡| 91尤物视频在线观看| 亚洲乱码国产乱码精品精的特点| 欧美日韩在线精品一区二区三区激情| 午夜精品视频一区| 精品国产99国产精品| 成人av资源在线观看| 亚洲欧洲综合另类| 日韩一区二区三区观看| 丰满少妇在线播放bd日韩电影| 亚洲色欲色欲www在线观看| 欧美午夜寂寞影院| 久久99日本精品| 亚洲精品乱码久久久久| 欧美一区二区三区四区高清 | 欧美熟乱第一页| 久久激情综合网| |精品福利一区二区三区| 欧美日韩一区二区三区四区| 国产精品一区二区三区四区| 亚洲综合一区二区| 久久综合色8888| 色婷婷久久久综合中文字幕| 青椒成人免费视频| 亚洲视频1区2区| 日韩精品一区国产麻豆| 在线观看视频一区| 国产精品69毛片高清亚洲| 亚洲成人黄色影院| 日韩毛片精品高清免费| 精品国产伦一区二区三区观看体验 | 亚洲国产精品久久久男人的天堂| 日韩久久精品一区| 欧美日韩国产一二三| www.亚洲免费av| 国产又粗又猛又爽又黄91精品| 亚洲午夜激情av| 亚洲欧洲三级电影| 欧美精品一区二区三区在线| 欧美猛男gaygay网站| 91在线国内视频| 国产一区二区福利| 麻豆国产欧美日韩综合精品二区| 亚洲一本大道在线| **性色生活片久久毛片| 国产校园另类小说区| 欧美白人最猛性xxxxx69交| 精品剧情在线观看| 欧美老年两性高潮| 欧洲一区二区三区免费视频| 成人午夜av在线| 国产一区二区女| 韩国一区二区三区| 麻豆91在线观看| 美腿丝袜亚洲综合| 婷婷中文字幕一区三区| 亚洲国产人成综合网站| 亚洲嫩草精品久久| 亚洲免费三区一区二区| 亚洲婷婷在线视频| 亚洲激情男女视频| 亚洲影院久久精品| 亚洲午夜在线视频| 午夜精品成人在线| 琪琪一区二区三区| 久久不见久久见免费视频1| 美女视频黄频大全不卡视频在线播放| 午夜a成v人精品| 五月天丁香久久| 免费高清在线一区| 久久99热狠狠色一区二区| 精品一区二区三区免费播放| 老司机午夜精品| 国模娜娜一区二区三区| 国产一区二区三区黄视频| 国产成人综合网站| 高清beeg欧美| av电影在线不卡| 91官网在线观看| 欧美精品国产精品| 欧美变态tickling挠脚心| 精品国产一二三区| 日本一区二区三区免费乱视频| 中文字幕亚洲一区二区va在线| 亚洲免费三区一区二区| 天堂成人国产精品一区| 美女一区二区三区| 国产乱色国产精品免费视频| 盗摄精品av一区二区三区| 91丝袜美腿高跟国产极品老师| 欧美色手机在线观看| 欧美v日韩v国产v| 国产三级欧美三级日产三级99 | 国产欧美日韩另类视频免费观看| 国产精品水嫩水嫩| 一级精品视频在线观看宜春院 | 久久精品国产99| 成人午夜视频在线| 欧美性猛片aaaaaaa做受| 日韩一级高清毛片| 综合中文字幕亚洲| 免费人成黄页网站在线一区二区| 国产精品一卡二卡在线观看| 日韩一级片在线播放| 中文子幕无线码一区tr| 亚洲综合999| 国产精品18久久久久| 91小视频在线观看| 精品国产一区二区三区不卡| 亚洲精品日韩综合观看成人91| 蜜桃在线一区二区三区| 99久久国产综合精品色伊 | 91国在线观看| 欧美精品一区二区三| 亚洲一二三四久久| 国产黑丝在线一区二区三区| 欧美三级电影在线观看| 国产精品毛片无遮挡高清| 亚洲123区在线观看| 白白色亚洲国产精品| 日韩一级欧美一级| 亚洲小说欧美激情另类| 成人免费视频一区| 欧美一区二区三区性视频| 亚洲欧美一区二区不卡| 国产一区二区中文字幕| 884aa四虎影成人精品一区| 中文字幕在线观看一区| 国产真实乱对白精彩久久| 4438成人网| 玉足女爽爽91| 粉嫩高潮美女一区二区三区| 精品少妇一区二区三区视频免付费| 一区二区三区美女| 99国产精品99久久久久久| 久久亚洲精品小早川怜子| 青青青伊人色综合久久| 欧美探花视频资源| 一区二区三区精品视频在线| a在线欧美一区| 日本一区二区三区久久久久久久久不 | 久久婷婷色综合| 久久精品99久久久| 日韩美女视频一区二区在线观看| 亚洲国产cao| 色综合久久久久久久久久久| 国产午夜精品久久久久久久| 国产一本一道久久香蕉| 亚洲乱码日产精品bd| 成人av免费观看| 国产欧美精品一区| 国产传媒日韩欧美成人| 久久精品男人天堂av| 国产美女视频91| 久久精品一区二区三区不卡| 国产一区二三区| 国产欧美日韩三级| 国产69精品久久久久777| 国产日韩三级在线| 成人深夜在线观看| 亚洲三级久久久| 色av成人天堂桃色av| 夜夜嗨av一区二区三区中文字幕 | 一级中文字幕一区二区| 91福利精品第一导航| 一区二区三区电影在线播| 欧美在线不卡视频| 午夜免费久久看| 91精品欧美综合在线观看最新| 亚洲成人第一页| 精品日韩欧美在线| 国产精华液一区二区三区| 国产精品伦一区| 色综合天天性综合| 午夜伦欧美伦电影理论片| 欧美高清你懂得| 韩日精品视频一区| 中文字幕亚洲在| 欧美日韩国产在线观看| 看片网站欧美日韩| 亚洲国产精品激情在线观看| 色综合久久综合中文综合网| 日韩二区三区四区| 国产欧美日韩精品一区| 欧美无乱码久久久免费午夜一区| 日本中文字幕一区二区视频 |