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

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

?? document.cpp

?? 英文版的 想要的話可以下載了 為大家服務(wù)
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
            po=*ppo;
            ppo=&po;

            //If there's an object here, make sure type is right.
            if (ppo->fe.cfFormat==m_cfEmbeddedObject)
                tType=TENANTTYPE_EMBEDDEDOBJECTFROMDATA;

            if (ppo->fe.cfFormat==m_cfLinkSource)
                tType=TENANTTYPE_LINKEDOBJECTFROMDATA;

            GlobalUnlock(stm.hGlobal);
            ReleaseStgMedium(&stm);
            }
        }

    /*
     * If we're told to look at CFSTR_OBJECTDESCRIPTOR, then try to get
     * the data and copy the aspect out of it.  We're not interested
     * in any other part of it, however.
     */
    if (fUseObjDesc)
        {
        SETDefFormatEtc(fe, m_cfObjectDescriptor, TYMED_HGLOBAL);

        hr=pIDataObject->GetData(&fe, &stm);

        if (FAILED(hr))
            {
            SETDefFormatEtc(fe, m_cfLinkSrcDescriptor
                , TYMED_HGLOBAL);
            hr=pIDataObject->GetData(&fe, &stm);
            }

        if (SUCCEEDED(hr))
            {
            pOD=(LPOBJECTDESCRIPTOR)GlobalLock(stm.hGlobal);
            pFE->dwAspect=pOD->dwDrawAspect;

            if (NULL!=ppo)
                ppo->fe.dwAspect=pFE->dwAspect;

            GlobalUnlock(stm.hGlobal);
            ReleaseStgMedium(&stm);

            /*
             * Furthermore, if pFE->dwAspect is DVASPECT_ICON, get
             * the metafile which will always be the icon
             * representation.
             */
            SETFormatEtc(fe, CF_METAFILEPICT, DVASPECT_ICON, NULL
                , TYMED_MFPICT, -1);

            if (SUCCEEDED(pIDataObject->GetData(&fe, &stm)))
                {
                dwData=(DWORD)(UINT)stm.hGlobal;
                fRelease=TRUE;
                }
            }
        }

    fRet=m_pPG->TenantCreate(tType, pIDataObject, pFE, ppo, dwData);

    //Release the stm from the last GetData
    if (fRelease)
        ReleaseStgMedium(&stm);

    if (fRet)
        {
        //Disable Printer Setup once we've created a tenant.
        m_fPrintSetup=FALSE;
        FDirtySet(TRUE);
        }

    return fRet;
    }




/*
 * CPatronDoc::FQueryEnableEditLinks
 *
 * Purpose:
 *  Determines whether or not the Edit Links menu item should be
 *  enabled on the frame window menu.
 *
 * Parameters:
 *  None
 *
 * Return Value:
 *  BOOL            TRUE to enable the item, FALSE otherwise.
 */

BOOL CPatronDoc::FQueryEnableEditLinks(void)
    {
    return m_pPG->FQueryLinksInPage();
    }





/*
 * CPatronDoc::EditLinks
 *
 * Purpose:
 *  Invokes the links dialog in which the end-user can manipulate
 *  all the links in the current page.
 *
 * Parameters:
 *  hWndFrame       HWND of the frame window to use as the dialog
 *                  parent.
 *
 * Return Value:
 *  BOOL            TRUE if the function was successful,
 *                  FALSE otherwise.
 */

BOOL CPatronDoc::EditLinks(HWND hWndFrame)
    {
    UINT                    uRet;
    OLEUIEDITLINKS          el;
    PCIOleUILinkContainer   pIUILinks;

    memset(&el, 0, sizeof(el));
    el.cbStruct=sizeof(el);
    el.hWndOwner=hWndFrame;

    if (!m_pPG->GetUILinkContainer(&pIUILinks))
        return FALSE;

    el.lpOleUILinkContainer=pIUILinks;
    uRet=OleUIEditLinks(&el);

    //Only the IOleUILinkContainer interface will know dirtying.
    m_fDirty=pIUILinks->m_fDirty;

    el.lpOleUILinkContainer->Release();
    return TRUE;
    }



/*
 * CPatronDoc::ShowOrQueryObjectTypes
 *
 * Purpose:
 *  If querying, we return whether or not ShowObjects is active
 *  in this document.  Otherwise pass-through to
 *  CPages::ShowObjectTypes.
 *
 * Parameters:
 *  fQuery          BOOL indicating query or set.
 *  fShow           BOOL indicating to show the type or not.
 *
 * Return Value:
 *  None
 */

BOOL CPatronDoc::ShowOrQueryObjectTypes(BOOL fQuery, BOOL fShow)
    {
    if (fQuery)
        return m_fShowTypes;

    m_fShowTypes=fShow;
    m_pPG->ShowObjectTypes(fShow);
    return TRUE;
    }






/*
 * CPatronDoc::NewPage
 *
 * Purpose:
 *  Creates a new page in the document's pages control after the
 *  current page.
 *
 * Parameters:
 *  None
 *
 * Return Value:
 *  UINT            Index of the new page.
 */

UINT CPatronDoc::NewPage(void)
    {
    FDirtySet(TRUE);
    return m_pPG->PageInsert(0);
    }







/*
 * CPatronDoc::DeletePage
 *
 * Purpose:
 *  Deletes the current page from the document.
 *
 * Parameters:
 *  None
 *
 * Return Value:
 *  UINT            Index of the now current page.
 */

UINT CPatronDoc::DeletePage(void)
    {
    FDirtySet(TRUE);
    return m_pPG->PageDelete(0);
    }







/*
 * CPatronDoc::NextPage
 *
 * Purpose:
 *  Shows the next page in the pages window.
 *
 * Parameters:
 *  None
 *
 * Return Value:
 *  UINT            Index of the new page.
 */

UINT CPatronDoc::NextPage(void)
    {
    UINT        iPage;

    iPage=m_pPG->CurPageGet();
    return m_pPG->CurPageSet(++iPage);
    }







/*
 * CPatronDoc::PreviousPage
 *
 * Purpose:
 *  Shows the previous page in the pages window.
 *
 * Parameters:
 *  None
 *
 * Return Value:
 *  UINT            Index of the new page.
 */

UINT CPatronDoc::PreviousPage(void)
    {
    UINT        iPage;

    //If iPage is zero, then we wrap around to the end.
    iPage=m_pPG->CurPageGet();
    return m_pPG->CurPageSet(--iPage);
    }






/*
 * CPatronDoc::FirstPage
 *
 * Purpose:
 *  Shows the first page page in the pages window.
 *
 * Parameters:
 *  None
 *
 * Return Value:
 *  UINT            Index of the new page.
 */

UINT CPatronDoc::FirstPage(void)
    {
    return m_pPG->CurPageSet(0);
    }






/*
 * CPatronDoc::LastPage
 *
 * Purpose:
 *  Shows the last page in the pages window.
 *
 * Parameters:
 *  None
 *
 * Return Value:
 *  UINT            Index of the last page.
 */

UINT CPatronDoc::LastPage(void)
    {
    return m_pPG->CurPageSet(NOVALUE);
    }







/*
 * CPatronDoc::Rename
 *
 * Purpose:
 *  Overrides the normal rename to include notification of tenants
 *  in this document of the new name.  This is so embedded objects
 *  are told the correct name through IOleObject::SetHostNames.
 *
 * Parameters:
 *  pszFile         LPTSTR to the new filename.
 *
 * Return Value:
 *  None
 */

void CPatronDoc::Rename(LPTSTR pszFile)
    {
    LPMONIKER   pmk;

    //We don't need to change the base class, just augment...
    CDocument::Rename(pszFile);

    //Unregister the old moniker (m_dwRegROT set to zero).
    INOLE_RevokeAsRunning(&m_dwRegROT);

    if (NULL==pszFile)
        return;

    CreateFileMoniker(pszFile, &pmk);

    if (NULL!=pmk)
        {
        LPMONIKER   pmkAll;

        INOLE_RegisterAsRunning(this, pmk, 0, &m_dwRegROT);

        //Give a moniker to linked objects in tenants.
        m_pPG->NotifyTenantsOfRename(pszFile, pmk);

        //Register a File!"\" wildcard moniker as well
        CreateItemMoniker(TEXT("!"), TEXT("\\"), &pmkAll);

        if (NULL!=pmkAll)
            {
            LPMONIKER   pmkWild;

            INOLE_RevokeAsRunning(&m_dwRegROTWild);
            pmk->ComposeWith(pmkAll, FALSE, &pmkWild);

            if (NULL!=pmkWild)
                {
                INOLE_RegisterAsRunning(this, pmk, 0
                    , &m_dwRegROTWild);
                pmkWild->Release();
                }

            pmkAll->Release();
            }

        //No need for us to hold on to this.
        pmk->Release();
        }

    return;
    }





/*
 * CPatronDoc::InsertObject
 *
 * Purpose:
 *  Retrieves a CLSID or a filename from the Insert Object dialog
 *  box and creates an object using those identifiers.
 *
 * Parameters:
 *  hWndFrame       HWND of the main window
 *
 * Return Value:
 *  BOOL            TRUE if successful, FALSE otherwise.
 */

BOOL CPatronDoc::InsertObject(HWND hWndFrame)
    {
    OLEUIINSERTOBJECT   io;
    DWORD               dwData=0;
    TCHAR               szFile[CCHPATHMAX];
    UINT                uTemp;
    BOOL                fRet=FALSE;

    if (NULL==m_pPG)
        return FALSE;

    memset(&io, 0, sizeof(io));

    io.cbStruct=sizeof(io);
    io.hWndOwner=hWndFrame;

    szFile[0]=0;
    io.lpszFile=szFile;
    io.cchFile=CCHPATHMAX;

    //We now support linking, so remove the IOF_DISABLELINK flag.
    io.dwFlags=IOF_SELECTCREATENEW;

    uTemp=OleUIInsertObject(&io);

    if (OLEUI_OK==uTemp)
        {
        TENANTTYPE      tType;
        LPVOID          pv;
        FORMATETC       fe;

        SETDefFormatEtc(fe, 0, TYMED_NULL);

        if (io.dwFlags & IOF_SELECTCREATENEW)
            {
            tType=TENANTTYPE_EMBEDDEDOBJECT;
            pv=&io.clsid;
            }
        else
            {
            if (io.dwFlags & IOF_CHECKLINK)
                tType=TENANTTYPE_LINKEDFILE;
            else
                tType=TENANTTYPE_EMBEDDEDFILE;

            pv=szFile;
            }

        if ((io.dwFlags & IOF_CHECKDISPLAYASICON)
            && NULL!=io.hMetaPict)
            {
            fe.dwAspect=DVASPECT_ICON;
            dwData=(DWORD)(UINT)io.hMetaPict;
            }

        fRet=m_pPG->TenantCreate(tType, pv, &fe, NULL, dwData);

        //Free this regardless of what we do with it.
        INOLE_MetafilePictIconFree(io.hMetaPict);

        if (fRet)
            {
            //Disable Printer Setup once we've created a tenant.
            m_fPrintSetup=FALSE;
            FDirtySet(TRUE);
            }
        }

    return fRet;
    }




/*
 * CPatronDoc::ActivateObject
 *
 * Purpose:
 *  Executes a verb on the currently selected object.
 *
 * Parameters:
 *  iVerb           LONG of the selected verb.
 *  pMSG            LPMSG that caused the activation.
 *
 * Return Value:
 *  None
 */

//CHAPTER22MOD
void CPatronDoc::ActivateObject(LONG iVerb, LPMSG pMSG)
    {
    m_pPG->ActivateObject(iVerb, pMSG);
    return;
    }
//End CHAPTER22MOD


/*
 * CPatronDoc::ConvertObject
 *
 * Purpose:
 *  Invokes the Convert dialog on the current object.  Here it's
 *  just a pass-through to the pages.
 *
 * Parameters:
 *  hWndFrame       HWND of the frame window.
 *
 * Return Value:
 *  BOOL            TRUE if the function is successful, FALSE otherwise.
 */

BOOL CPatronDoc::ConvertObject(HWND hWndFrame)
    {
    return m_pPG->ConvertObject(hWndFrame);
    }




//CHAPTER22MOD
/*
 * CPatronDoc::NoObjectFrameTools
 *
 * Purpose:
 *  Saves/retrieves a flag with the document that says whether or
 *  not the object active in this document has *frame* tools.  We
 *  need this to tell the frame what to do when document activation
 *  switches.
 *
 * Parameters:
 *  fNoTools        BOOL TRUE to indicate the object has no tools.
 *                  FALSE says the object has tools.
 *  fSet            BOOL indicating if this is a set (TRUE) or get
 *                  (FALSE) operation.
 *
 * Return Value:
 *  BOOL            Value of flag for Get operations, previous value
 *                  for Set operations.
 */

BOOL CPatronDoc::NoObjectFrameTools(BOOL fNoTools, BOOL fSet)
    {
    BOOL        fLast=m_fNoObjectFrameTools;

    if (fSet)
        m_fNoObjectFrameTools=fNoTools;

    return fLast;
    }
//End CHAPTER22MOD

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美午夜不卡视频| 欧美精选在线播放| 久久99国产精品久久| 亚洲精品videosex极品| 国产欧美中文在线| 久久久久久97三级| 久久中文字幕电影| 亚洲精品在线观看视频| 日韩一区二区三区四区| 欧美性猛交xxxx乱大交退制版| 麻豆高清免费国产一区| 青草av.久久免费一区| 亚洲国产日韩一级| 亚洲永久精品大片| 一区二区免费视频| 亚洲人成电影网站色mp4| 国产精品国产三级国产a| 久久久99精品免费观看不卡| 精品av久久707| 精品国产一区二区三区不卡| 国产日韩欧美高清| 国产欧美精品一区二区三区四区 | 国产性天天综合网| 2024国产精品| 国产丝袜欧美中文另类| 欧美激情在线观看视频免费| 成人免费一区二区三区视频 | 成人午夜视频在线观看| 成人午夜免费电影| 成人动漫精品一区二区| 波多野结衣精品在线| av一区二区三区黑人| 91丨九色丨国产丨porny| 麻豆一区二区三区| 国产精品一区二区三区99| 国产乱码一区二区三区| 国产精品香蕉一区二区三区| 国产精品1区2区3区在线观看| 国产一区二区三区精品欧美日韩一区二区三区 | 国产精品久久久久久久浪潮网站| 欧美国产欧美综合| 亚洲私人黄色宅男| 亚洲一区二区免费视频| 丝袜美腿亚洲综合| 蜜臀av一区二区在线免费观看 | 精品一区二区三区蜜桃| 国产精品亚洲第一区在线暖暖韩国 | 喷水一区二区三区| 国产在线乱码一区二区三区| 国产电影一区二区三区| 色综合久久99| 欧美三级韩国三级日本三斤 | 久久久久国产精品免费免费搜索| 中文字幕免费观看一区| 国产日韩欧美高清| 一区二区三区国产豹纹内裤在线| 天天亚洲美女在线视频| 国产精品影视网| 日本久久一区二区三区| 欧美日韩国产123区| 国产精品网站在线观看| 亚洲国产成人av| 狠狠v欧美v日韩v亚洲ⅴ| 97se亚洲国产综合在线| 3d动漫精品啪啪一区二区竹菊 | 国产精品久久国产精麻豆99网站| 亚洲123区在线观看| 成人黄色网址在线观看| 日韩欧美一卡二卡| 亚洲成人tv网| www.色精品| 久久久99精品久久| 美女在线视频一区| 欧美亚洲愉拍一区二区| 国产精品美女久久久久高潮| 九色|91porny| 欧美日韩国产高清一区二区 | 亚洲欧美日韩在线| 国产传媒欧美日韩成人| 日韩欧美黄色影院| 亚洲成av人片一区二区三区| 日韩成人午夜电影| 欧美v日韩v国产v| 国产精品1区2区3区在线观看| 国产一区二区三区美女| 7777精品伊人久久久大香线蕉完整版 | 久久免费视频色| 欧美男男青年gay1069videost| 亚洲欧美在线观看| 在线看国产一区二区| 欧美va亚洲va在线观看蝴蝶网| 国产精品成人一区二区艾草| 精品久久久久久综合日本欧美| 在线亚洲精品福利网址导航| 国产精品1区2区| 久久国产麻豆精品| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 精品久久国产老人久久综合| www.66久久| 国产精品99久| 日韩和欧美一区二区三区| 一区二区三区四区亚洲| 欧美高清一级片在线观看| 日韩欧美国产电影| 精品视频在线看| 欧美色图在线观看| 成人精品电影在线观看| 国产毛片精品一区| 毛片一区二区三区| 麻豆成人av在线| 石原莉奈在线亚洲三区| 一区二区三区四区av| 亚洲色图.com| 亚洲精品一二三| 一区二区三区日本| 亚洲精品国产精华液| 最新热久久免费视频| 中文字幕亚洲精品在线观看 | 26uuu久久综合| 8x8x8国产精品| 国产日韩欧美一区二区三区乱码| 欧美情侣在线播放| 久久99九九99精品| 午夜不卡av免费| 日韩国产欧美视频| 国产成人在线观看| 久久亚洲免费视频| 国产呦精品一区二区三区网站| 国产69精品久久久久777| 欧美电影一区二区三区| 国产乱人伦精品一区二区在线观看| 亚洲免费在线播放| 欧美成人一区二区| 91九色最新地址| 国产乱码精品一区二区三区av| 亚洲国产视频一区二区| 欧美精彩视频一区二区三区| 在线免费观看日本一区| 欧美色综合网站| 久久久国产精品午夜一区ai换脸| 亚洲人精品一区| 精品一区二区在线视频| 色综合久久88色综合天天免费| 欧美精品在线观看一区二区| 欧美变态tickling挠脚心| 国产精品国产馆在线真实露脸| 国产在线精品免费| 亚洲视频网在线直播| 欧美午夜精品电影| 狠狠色狠狠色综合系列| 欧美极品aⅴ影院| 欧美日韩久久久| 国产一区二区在线视频| 亚洲精品欧美在线| 欧美成人性战久久| 91蜜桃婷婷狠狠久久综合9色| 石原莉奈在线亚洲二区| 亚洲一区视频在线| 一色桃子久久精品亚洲| 国产欧美一区二区三区沐欲| 九九国产精品视频| 亚洲欧美激情视频在线观看一区二区三区| 91久久免费观看| 国产精品系列在线播放| 一区二区理论电影在线观看| 国产午夜精品福利| 欧美一区二区三区在线| 91最新地址在线播放| 极品尤物av久久免费看| 亚洲成人先锋电影| 亚洲视频精选在线| 久久久激情视频| 亚洲精品一线二线三线| 91麻豆精品国产91久久久资源速度 | 国产一区激情在线| 日韩国产欧美视频| 亚洲成人你懂的| 一区二区三区电影在线播| 国产日产欧产精品推荐色| 欧美一级理论片| 日韩一区二区影院| 欧美人妇做爰xxxⅹ性高电影 | 欧美国产精品一区二区| 久久午夜免费电影| 26uuu国产日韩综合| 日韩午夜在线观看| 日韩一区二区在线看| 日韩一级免费观看| 精品国产制服丝袜高跟| 欧美精品一区二区在线观看| 欧美成人一区二区三区| 精品捆绑美女sm三区| 久久免费电影网| 国产精品视频一二| 亚洲乱码一区二区三区在线观看| 亚洲视频免费看| 午夜电影久久久| 久久99热99| 亚洲欧美综合另类在线卡通| 久久日韩精品一区二区五区|