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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? document.cpp

?? 英文版的 想要的話可以下載了 為大家服務
?? CPP
?? 第 1 頁 / 共 2 頁
字號:

void CCosmoDoc::Undo(void)
    {
    m_pPL->Undo();
    return;
    }






/*
 * CCosmoDoc::Clip
 *
 * Purpose:
 *  Places a private format, a metafile, and a bitmap of the display
 *  on the clipboard, optionally implementing Cut by deleting the
 *  data in the current window after rendering.
 *
 * Parameters:
 *  hWndFrame       HWND of the main window.
 *  fCut            BOOL indicating cut (TRUE) or copy (FALSE).
 *
 * Return Value:
 *  BOOL            TRUE if successful, FALSE otherwise.
 */

BOOL CCosmoDoc::Clip(HWND hWndFrame, BOOL fCut)
    {
    BOOL            fRet=TRUE;
    HGLOBAL         hMem;
    UINT            i;

    //This array is so we can loop over the formats we provide.
    static UINT     rgcf[3]={0, CF_METAFILEPICT, CF_BITMAP};
    const UINT      cFormats=3;

    if (!OpenClipboard(hWndFrame))
        return FALSE;

    //Clean out whatever junk is in the clipboard.
    EmptyClipboard();

    rgcf[0]=m_cf;

    for (i=0; i < cFormats; i++)
        {
        //Copy private data first.
        hMem=RenderFormat(rgcf[i]);

        if (NULL!=hMem)
            SetClipboardData(rgcf[i], hMem);
        else
            fRet &=FALSE;
        }

    //Free clipboard ownership.
    CloseClipboard();

    //Delete our current data if copying succeeded.
    if (fRet && fCut)
        {
        m_pPL->New();
        FDirtySet(TRUE);
        }

    return fRet;
    }





/*
 * CCosmoDoc::RenderFormat
 *
 * Purpose:
 *  Renders a specific clipboard format into global memory.
 *
 * Parameters:
 *  cf              UINT format to render.
 *
 * Return Value:
 *  HGLOBAL         Global memory handle containing the data.
 */

HGLOBAL CCosmoDoc::RenderFormat(UINT cf)
    {
    HGLOBAL     hMem;

    if (cf==m_cf)
        {
        m_pPL->DataGetMem(&hMem);
        return hMem;
        }

    switch (cf)
        {
        case CF_METAFILEPICT:
            m_pPL->RenderMetafilePict(&hMem);
            return hMem;

        case CF_BITMAP:
            m_pPL->RenderBitmap((HBITMAP *)&hMem);
            return hMem;
        }

    return NULL;
    }







/*
 * CCosmoDoc::FQueryPaste
 *
 * Purpose:
 *  Determines if we can paste data from the clipboard.
 *
 * Parameters:
 *  None
 *
 * Return Value:
 *  BOOL            TRUE if data is available, FALSE otherwise.
 */

BOOL CCosmoDoc::FQueryPaste(void)
    {
    return IsClipboardFormatAvailable(m_cf);
    }





/*
 * CCosmoDoc::Paste
 *
 * Purpose:
 *  Retrieves the private data format from the clipboard and sets it
 *  to the current figure in the editor window.
 *
 *  Note that if this function is called, then the clipboard format
 *  is available because the Paste menu item is only enabled if the
 *  format is present.
 *
 * Parameters:
 *  hWndFrame       HWND of the main window.
 *
 * Return Value:
 *  BOOL            TRUE if successful, FALSE otherwise.
 */

BOOL CCosmoDoc::Paste(HWND hWndFrame)
    {
    HGLOBAL         hMem;
    PPOLYLINEDATA   ppl;
    BOOL            fRet=FALSE;

    if (!OpenClipboard(hWndFrame))
        return FALSE;

    hMem=GetClipboardData(m_cf);

    if (NULL!=hMem)
        {
        ppl=(PPOLYLINEDATA)GlobalLock(hMem);

        //TRUE in wParam to cause PLN_SIZECHANGE notification
        m_pPL->DataSet(ppl, FALSE, TRUE);
        GlobalUnlock(hMem);

        FDirtySet(TRUE);
        fRet=TRUE;
        }

    CloseClipboard();
    return fRet;
    }






/*
 * CCosmoDoc::ColorSet
 *
 * Purpose:
 *  Changes a color used in our contained Polyline.
 *
 * Parameters:
 *  iColor          UINT index of the color to change.
 *  cr              COLORREF new color.
 *
 * Return Value:
 *  COLORREF        Previous color for the given index.
 */

COLORREF CCosmoDoc::ColorSet(UINT iColor, COLORREF cr)
    {
    COLORREF    crRet;

    m_pPL->ColorSet(iColor, cr, &crRet);
    return crRet;
    }





/*
 * CCosmoDoc::ColorGet
 *
 * Purpose:
 *  Retrieves a color currently in use in the Polyline.
 *
 * Parameters:
 *  iColor          UINT index of the color to retrieve.
 *
 * Return Value:
 *  COLORREF        Current color for the given index.
 */

COLORREF CCosmoDoc::ColorGet(UINT iColor)
    {
    COLORREF    crRet;

    m_pPL->ColorGet(iColor, &crRet);
    return crRet;
    }






/*
 * CCosmoDoc::LineStyleSet
 *
 * Purpose:
 *  Changes the line style currently used in the Polyline
 *
 * Parameters:
 *  iStyle          UINT index of the new line style to use.
 *
 * Return Value:
 *  UINT            Previous line style.
 */

UINT CCosmoDoc::LineStyleSet(UINT iStyle)
    {
    UINT    i;

    m_pPL->LineStyleSet(iStyle, &i);
    return i;
    }







/*
 * CCosmoDoc::LineStyleGet
 *
 * Purpose:
 *  Retrieves the line style currently used in the Polyline
 *
 * Parameters:
 *  None
 *
 * Return Value:
 *  UINT            Current line style.
 */


UINT CCosmoDoc::LineStyleGet(void)
    {
    UINT    i=0;

    //m_pPL might not be valid yet.
    if (NULL!=m_pPL)
        m_pPL->LineStyleGet(&i);

    return i;
    }







/*
 * CPolylineAdviseSink::CPolylineAdviseSink
 * CPolylineAdviseSink::~CPolylineAdviseSink
 *
 * Constructor Parameters:
 *  pDoc            PCCosmoDoc to store in this object
 */

CPolylineAdviseSink::CPolylineAdviseSink(PCCosmoDoc pDoc)
    {
    m_pDoc=pDoc;
    m_cRef=0;
    AddRef();
    return;
    }


CPolylineAdviseSink::~CPolylineAdviseSink(void)
    {
    return;
    }




/*
 * CPolylineAdviseSink::QueryInterface
 * CPolylineAdviseSink::AddRef
 * CPolylineAdviseSink::Release
 *
 * Purpose:
 *  IUnknown members for this IPolylineAdviseSink implementations.
 */

STDMETHODIMP CPolylineAdviseSink::QueryInterface(REFIID riid
    , PPVOID ppv)
    {
    *ppv=NULL;

    //CHAPTER8MOD
    if (IID_IUnknown==riid || IID_IPolylineAdviseSink8==riid)
        *ppv=this;
    //End CHAPTER8MOD

    if (NULL!=*ppv)
        {
        ((LPUNKNOWN)*ppv)->AddRef();
        return NOERROR;
        }

    return ResultFromScode(S_FALSE);
    }


STDMETHODIMP_(ULONG) CPolylineAdviseSink::AddRef(void)
    {
    return ++m_cRef;
    }


STDMETHODIMP_(ULONG) CPolylineAdviseSink::Release(void)
    {
    if (0L!=--m_cRef)
        return m_cRef;

    delete this;
    return 0;
    }




/*
 * CPolylineAdviseSink::OnPointChange
 *
 * Purpose:
 *  Informs the document that the polyline added or removed a point.
 *
 * Parameters:
 *  None
 *
 * Return Value:
 *  None
 */

STDMETHODIMP_(void) CPolylineAdviseSink::OnPointChange(void)
    {
    m_pDoc->FDirtySet(TRUE);
    return;
    }






/*
 * CPolylineAdviseSink::OnSizeChange
 *
 * Purpose:
 *  Informs the document that the polyline changed size.
 *
 * Parameters:
 *  None
 *
 * Return Value:
 *  None
 */

STDMETHODIMP_(void) CPolylineAdviseSink::OnSizeChange(void)
    {
    RECT            rc;
    DWORD           dwStyle;
    HWND            hWnd;

    /*
     * Polyline window is informing us that it changed size in
     * response to setting it's data.  Therefore we have to
     * size ourselves accordingly but without moving the screen
     * position of the polyline window.
     */

    m_pDoc->m_fNoSize=TRUE;

    //Set the document window size.
    m_pDoc->m_pPL->Window(&hWnd);
    GetWindowRect(hWnd, &rc);
    InflateRect(&rc, 8, 8);

    //Adjust for a window sans menu
    dwStyle=GetWindowLong(m_pDoc->m_hWnd, GWL_STYLE);
    AdjustWindowRect(&rc, dwStyle, FALSE);

    SetWindowPos(m_pDoc->m_hWnd, NULL, 0, 0, rc.right-rc.left
        , rc.bottom-rc.top, SWP_NOMOVE | SWP_NOZORDER);

    if (NULL!=m_pDoc->m_pAdv)
        m_pDoc->m_pAdv->OnSizeChange(m_pDoc, &rc);

    m_pDoc->m_fNoSize=FALSE;
    m_pDoc->FDirtySet(TRUE);

    return;
    }





/*
 * CPolylineAdviseSink::OnDataChange
 *
 * Purpose:
 *  Informs the document that the polyline data changed.
 *
 * Parameters:
 *  None
 *
 * Return Value:
 *  None
 */

STDMETHODIMP_(void) CPolylineAdviseSink::OnDataChange(void)
    {
    if (NULL!=m_pDoc->m_pAdv)
        m_pDoc->m_pAdv->OnDataChange(m_pDoc);

    m_pDoc->FDirtySet(TRUE);
    return;
    }





/*
 * CPolylineAdviseSink::OnColorChange
 *
 * Purpose:
 *  Informs the document that the polyline data changed a color.
 *
 * Parameters:
 *  None
 *
 * Return Value:
 *  None
 */

STDMETHODIMP_(void) CPolylineAdviseSink::OnColorChange(void)
    {
    m_pDoc->FDirtySet(TRUE);
    return;
    }





/*
 * CPolylineAdviseSink::OnLineStyleChange
 *
 * Purpose:
 *  Informs the document that the polyline changed its line style.
 *
 * Parameters:
 *  None
 *
 * Return Value:
 *  None
 */

STDMETHODIMP_(void) CPolylineAdviseSink::OnLineStyleChange(void)
    {
    m_pDoc->FDirtySet(TRUE);
    return;
    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美色精品在线视频| 欧美福利视频导航| 亚洲一二三区不卡| 久久久国际精品| 欧美日韩在线播| 成人免费观看视频| 免费日本视频一区| 成人欧美一区二区三区在线播放| 日韩欧美久久一区| 欧美日本一区二区三区| 99久久精品99国产精品| 国产一区二区精品久久| 午夜电影网亚洲视频| 亚洲青青青在线视频| 国产欧美视频在线观看| 日韩天堂在线观看| 欧美情侣在线播放| 91色|porny| av一区二区三区在线| 国产精品一二一区| 精品亚洲欧美一区| 毛片不卡一区二区| 日韩精品一区第一页| 亚洲午夜精品17c| 亚洲精品第一国产综合野| 午夜精品福利在线| 亚洲激情六月丁香| 亚洲人123区| 亚洲精品视频一区| 亚洲欧洲精品天堂一级| 中文字幕不卡一区| 国产日本一区二区| 国产亚洲欧美一级| 久久精品视频在线免费观看| 2022国产精品视频| 久久综合九色欧美综合狠狠 | 日韩免费在线观看| 91精品国产综合久久福利软件 | 久久综合色播五月| 久久夜色精品国产噜噜av| 欧美成人a在线| 精品卡一卡二卡三卡四在线| 日韩免费性生活视频播放| 制服丝袜亚洲精品中文字幕| 5566中文字幕一区二区电影| 这里只有精品视频在线观看| 91麻豆精品国产91久久久资源速度| 欧美日韩国产综合视频在线观看| 欧美网站一区二区| 欧美视频完全免费看| 欧美日本在线一区| 精品人伦一区二区色婷婷| 欧美第一区第二区| 精品久久一区二区三区| 国产视频一区二区三区在线观看| 中文字幕乱码日本亚洲一区二区 | 精品国精品国产尤物美女| 精品国产a毛片| 国产无遮挡一区二区三区毛片日本| 国产欧美一区二区精品婷婷 | 亚洲色图制服丝袜| 亚洲一区在线播放| 蜜臀av一区二区| 国产99久久精品| 91麻豆免费在线观看| 欧美三电影在线| wwwwxxxxx欧美| 亚洲三级久久久| 日本vs亚洲vs韩国一区三区| 免费观看在线综合| 国产精品一区二区91| 91啪亚洲精品| 91麻豆精品国产91久久久资源速度| 精品粉嫩超白一线天av| 亚洲欧洲av在线| 男男视频亚洲欧美| 成人动漫av在线| 欧美日韩一区二区三区视频| 亚洲精品在线网站| 亚洲精品乱码久久久久久日本蜜臀| 日日嗨av一区二区三区四区| 成人网在线播放| 欧美少妇xxx| 亚洲午夜久久久久久久久电影网| 免费三级欧美电影| 91视频免费看| 精品不卡在线视频| 亚洲一区二区不卡免费| 国产精品一区久久久久| 欧美色成人综合| 国产精品污www在线观看| 视频一区欧美日韩| 色香蕉成人二区免费| 精品国产91九色蝌蚪| 亚洲大片精品永久免费| 国产99精品视频| 日韩欧美一卡二卡| 亚洲精品五月天| 成人中文字幕电影| 日韩午夜精品电影| 午夜在线成人av| 99久久免费精品高清特色大片| 日韩免费成人网| 亚洲高清视频中文字幕| 91网站在线观看视频| 国产无遮挡一区二区三区毛片日本| 日韩高清不卡一区二区三区| 色综合久久中文字幕| 国产精品乱人伦一区二区| 老司机精品视频线观看86 | 日韩亚洲国产中文字幕欧美| 亚洲人被黑人高潮完整版| 国产成人av影院| 欧美xxxxx牲另类人与| 亚洲mv大片欧洲mv大片精品| 成人激情午夜影院| 久久久久88色偷偷免费| 免费看欧美美女黄的网站| 欧美绝品在线观看成人午夜影视| 亚洲欧美日韩久久| 99久久精品费精品国产一区二区| 国产欧美日韩综合精品一区二区| 国内久久精品视频| 日韩欧美一区二区久久婷婷| 日韩精品国产欧美| 欧美美女网站色| 亚洲在线成人精品| 在线中文字幕不卡| 亚洲欧美一区二区久久| 99久久国产免费看| 亚洲欧美激情一区二区| eeuss鲁片一区二区三区在线看| 国产夜色精品一区二区av| 精品午夜一区二区三区在线观看| 日韩欧美国产三级电影视频| 美女视频黄a大片欧美| 欧美日韩国产高清一区二区三区| 亚洲一区二区精品3399| 欧美日韩免费一区二区三区视频 | 国产**成人网毛片九色| 日本一区二区视频在线| 国产91精品露脸国语对白| 国产精品美女久久久久久久| 国产激情视频一区二区在线观看| 国产亚洲欧洲一区高清在线观看| 国产一区二区伦理| 国产精品欧美久久久久无广告 | 欧美一区二区视频免费观看| 日韩中文字幕一区二区三区| 制服丝袜日韩国产| 美腿丝袜一区二区三区| 亚洲精品一区二区三区在线观看| 精品无人码麻豆乱码1区2区| 久久免费午夜影院| av电影在线观看完整版一区二区| 自拍偷拍亚洲欧美日韩| 在线视频中文字幕一区二区| 午夜精品福利在线| 久久精品综合网| 成人免费黄色在线| 一区二区三区中文在线| 日韩一区二区三区视频在线 | 亚洲成人免费视频| 日韩你懂的在线播放| 成人免费高清在线观看| 亚洲国产欧美在线| 精品久久国产97色综合| 丁香六月综合激情| 一区二区三区**美女毛片| 91精品国产色综合久久不卡电影| 国产尤物一区二区在线| 亚洲人成网站精品片在线观看| 欧美精品亚洲二区| 国产不卡在线视频| 亚洲综合在线电影| 亚洲人吸女人奶水| 69久久夜色精品国产69蝌蚪网| 国内精品伊人久久久久av影院| 亚洲欧美日韩在线不卡| 日韩三级高清在线| 99riav一区二区三区| 日本sm残虐另类| 18成人在线观看| 精品精品国产高清一毛片一天堂| 99re亚洲国产精品| 蜜臂av日日欢夜夜爽一区| 亚洲少妇30p| 久久久久久久网| 欧美顶级少妇做爰| 99视频热这里只有精品免费| 日韩av二区在线播放| 亚洲欧美日韩国产成人精品影院 | 在线观看视频欧美| 国产一区二区美女诱惑| 亚洲成a人v欧美综合天堂下载 | 欧美激情一区不卡| 3atv在线一区二区三区| 91猫先生在线| 成人av片在线观看| 激情国产一区二区|