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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? ioleobj.cpp

?? 英文版的 想要的話(huà)可以下載了 為大家服務(wù)
?? CPP
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
 *  HRESULT         NOERROR or a general error value.
 */

STDMETHODIMP CImpIOleObject::DoVerb(LONG iVerb, LPMSG pMSG
    , LPOLECLIENTSITE pActiveSite, LONG lIndex, HWND hWndParent
    , LPCRECT pRectPos)
    {
    HWND            hWnd, hWndT;

    //Find the upper most window
    hWndT=GetParent(m_pObj->m_pDoc->Window());

    while (NULL!=hWndT)
        {
        hWnd=hWndT;
        hWndT=GetParent(hWndT);
        }

    switch (iVerb)
        {
        case OLEIVERB_HIDE:
            ShowWindow(hWnd, SW_HIDE);
            m_pObj->SendAdvise(OBJECTCODE_HIDEWINDOW);
            break;

        case OLEIVERB_PRIMARY:
        case OLEIVERB_OPEN:
        case OLEIVERB_SHOW:
            ShowWindow(hWnd, SW_SHOW);
            SetForegroundWindow(hWnd);
            SetFocus(hWnd);

            m_pObj->SendAdvise(OBJECTCODE_SHOWOBJECT);
            m_pObj->SendAdvise(OBJECTCODE_SHOWWINDOW);
            break;

        default:
            return ResultFromScode(OLEOBJ_S_INVALIDVERB);
        }

    return NOERROR;
    }





/*
 * CImpIOleObject::EnumVerbs
 *
 * Purpose:
 *  Creates an enumerator that knows the object's verbs.  If you
 *  need to change the verb list dynamically, then you'll need to
 *  implement this, otherwise you can return OLE_S_USEREG.
 *
 * Parameters:
 *  ppEnum          LPENUMOLEVERB * into which to return the
 *                  enum.
 *
 * Return Value:
 *  HRESULT         NOERROR or a general error value.
 */

STDMETHODIMP CImpIOleObject::EnumVerbs(LPENUMOLEVERB *ppEnum)
    {
    //Trivial implementation if you fill the regDB.
    return ResultFromScode(OLE_S_USEREG);
    }





/*
 * CImpIOleObject::Update
 *
 * Purpose:
 *  Insures that the object is up to date.  This is mostly used for
 *  caching but you must make sure that you recursively call all
 *  nested objects you contain as well.
 *
 * Parameters:
 *  None
 *
 * Return Value:
 *  HRESULT         NOERROR or a general error value.
 */

STDMETHODIMP CImpIOleObject::Update(void)
    {
    //We're always updated since we don't contain.
    return NOERROR;
    }





/*
 * CImpIOleObject::IsUpToDate
 *
 * Purpose:
 *  Returns if the object is currently up to date, which involves
 *  asking all contained object inside this object if they are up
 *  to date as well.
 *
 * Parameters:
 *  None
 *
 * Return Value:
 *  HRESULT         NOERROR if successful, S_FALSE if dirty.
 */

STDMETHODIMP CImpIOleObject::IsUpToDate(void)
    {
    //We're always updated since we don't contain.
    return NOERROR;
    }





/*
 * CImpIOleObject::GetUserClassID
 *
 * Purpose:
 *  Used for linked objects, this returns the class ID of what end
 *  users think they are editing.
 *
 * Parameters:
 *  pClsID          LPCLSID in which to store the CLSID.
 *
 * Return Value:
 *  HRESULT         NOERROR or a general error value.
 */

STDMETHODIMP CImpIOleObject::GetUserClassID(LPCLSID pClsID)
    {
    /*
     * If you are not registered to handle data other than yourself,
     * then you can just return your class ID here.  If you are
     * registered as usable from Treat-As dialogs, then you need
     * to return the CLSID of what you are really editing.
     */

    *pClsID=m_pObj->m_clsID;
    return NOERROR;
    }





/*
 * CImpIOleObject::GetUserType
 *
 * Purpose:
 *  Determines the user-presentable name of the object.
 *
 * Parameters:
 *  dwForm          DWORD describing which form of the string is
 *                  desired.
 *  pszType         LPOLESTR * into which to return the pointer to
 *                  the type string.
 *
 * Return Value:
 *  HRESULT         NOERROR or a general error value.
 */

STDMETHODIMP CImpIOleObject::GetUserType(DWORD dwForm
    , LPOLESTR *ppszType)
    {
    return ResultFromScode(OLE_S_USEREG);
    }





/*
 * CImpIOleObject::SetExtent
 *
 * Purpose:
 *  Sets the size of the object in HIMETRIC units.
 *
 * Parameters:
 *  dwAspect        DWORD of the aspect affected.
 *  pszl            LPSIZEL containing the new size.
 *
 * Return Value:
 *  HRESULT         NOERROR or a general error value.
 */

STDMETHODIMP CImpIOleObject::SetExtent(DWORD dwAspect, LPSIZEL pszl)
    {
    RECT            rc;
    SIZEL           szl;

    if (!(DVASPECT_CONTENT & dwAspect))
        return ResultFromScode(E_FAIL);

    XformSizeInHimetricToPixels(NULL, pszl, &szl);

    //This resizes the window to match the container's size.
    SetRect(&rc, 0, 0, (int)szl.cx, (int)szl.cy);
    m_pObj->m_pPL->SizeSet(&rc, TRUE);

    return NOERROR;
    }





/*
 * CImpIOleObject::GetExtent
 *
 * Purpose:
 *  Retrieves the size of the object in HIMETRIC units.
 *
 * Parameters:
 *  dwAspect        DWORD of the aspect requested
 *  pszl            LPSIZEL into which to store the size.
 *
 * Return Value:
 *  HRESULT         NOERROR or a general error value.
 */

STDMETHODIMP CImpIOleObject::GetExtent(DWORD dwAspect, LPSIZEL pszl)
    {
    RECT            rc;
    SIZEL           szl;

    if (!(DVASPECT_CONTENT & dwAspect))
        return ResultFromScode(E_FAIL);

    m_pObj->m_pPL->RectGet(&rc);
    szl.cx=rc.right-rc.left;
    szl.cy=rc.bottom-rc.top;

    XformSizeInPixelsToHimetric(NULL, &szl, pszl);
    return NOERROR;
    }





/*
 * CImpIOleObject::Advise
 *
 * Purpose:
 *  Provides an IAdviseSink to the object for notifications.
 *
 * Parameters:
 *  pIAdviseSink    LPADVISESINK to notify.
 *  pdwConn         LPDWORD into which to store a connection key.
 *
 * Return Value:
 *  HRESULT         NOERROR or a general error value.
 */

STDMETHODIMP CImpIOleObject::Advise(LPADVISESINK pIAdviseSink
    , LPDWORD pdwConn)
    {
    if (NULL==m_pObj->m_pIOleAdviseHolder)
        {
        HRESULT     hr;

        hr=CreateOleAdviseHolder(&m_pObj->m_pIOleAdviseHolder);

        if (FAILED(hr))
            return hr;
        }

    return m_pObj->m_pIOleAdviseHolder->Advise(pIAdviseSink
        , pdwConn);
    }





/*
 * CImpIOleObject::Unadvise
 *
 * Purpose:
 *  Terminates a previous advise connection from Advise.
 *
 * Parameters:
 *  dwConn          DWORD connection key from Advise.
 *
 * Return Value:
 *  HRESULT         NOERROR or a general error value.
 */

STDMETHODIMP CImpIOleObject::Unadvise(DWORD dwConn)
    {
    if (NULL!=m_pObj->m_pIOleAdviseHolder)
        return m_pObj->m_pIOleAdviseHolder->Unadvise(dwConn);

    return ResultFromScode(E_FAIL);
    }





/*
 * CImpIOleObject::EnumAdvise
 *
 * Purpose:
 *  Creates and returns a enumeration of the advises on this object.
 *
 * Parameters:
 *  ppEnum          LPENUMSTATDATA * in which to return the
 *                  enumerator.
 *
 * Return Value:
 *  HRESULT         NOERROR or a general error value.
 */

STDMETHODIMP CImpIOleObject::EnumAdvise(LPENUMSTATDATA *ppEnum)
    {
    if (NULL!=m_pObj->m_pIOleAdviseHolder)
        return m_pObj->m_pIOleAdviseHolder->EnumAdvise(ppEnum);

    return ResultFromScode(E_FAIL);
    }





/*
 * CImpIOleObject::GetMiscStatus
 *
 * Purpose:
 *  Returns a set of miscellaneous status flags for the object.
 *
 * Parameters:
 *  dwAspect        DWORD of the aspect in question.
 *  pdwStatus       LPDWORD in which to store the flags.
 *
 * Return Value:
 *  HRESULT         NOERROR or a general error value.
 */

STDMETHODIMP CImpIOleObject::GetMiscStatus(DWORD dwAspect
    , LPDWORD pdwStatus)
    {
    return ResultFromScode(OLE_S_USEREG);
    }





/*
 * CImpIOleObject::SetColorScheme
 *
 * Purpose:
 *  Provides the object with the color palette as recommended by
 *  the container application that also knows the palettes of other
 *  objects.  The object here is not required to use these colors.
 *
 * Parameters:
 *  pLP             LPLOGPALETTE providing the colors.
 *
 * Return Value:
 *  HRESULT         NOERROR or a general error value.
 */

STDMETHODIMP CImpIOleObject::SetColorScheme(LPLOGPALETTE pLP)
    {
    return ResultFromScode(E_NOTIMPL);
    }

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区鲁丝不卡| 欧美日韩一区不卡| 亚洲超碰97人人做人人爱| 欧美精品一区二区三区视频| 不卡电影一区二区三区| 日韩精品成人一区二区在线| 国产精品婷婷午夜在线观看| 欧美日本乱大交xxxxx| 成人精品gif动图一区| 久久精品国产第一区二区三区| 亚洲婷婷在线视频| 亚洲精品一区二区三区四区高清| 一本色道a无线码一区v| 国产精品18久久久久久久久久久久 | 国产欧美日产一区| 在线播放中文一区| 色天天综合色天天久久| 国产精品88888| 免费观看成人鲁鲁鲁鲁鲁视频| 亚洲欧美日韩一区二区三区在线观看| 精品国产免费久久 | 日韩免费观看高清完整版| aa级大片欧美| 国产精品一色哟哟哟| 麻豆国产91在线播放| 一区二区三区加勒比av| 国产精品久久久久久久蜜臀| 久久午夜免费电影| 欧美不卡一区二区三区| 91精品国产91久久久久久一区二区| 在线视频欧美区| 91丝袜国产在线播放| www.66久久| 成av人片一区二区| 国产精品一品二品| 国产精品一区在线观看你懂的| 九九九久久久精品| 国产麻豆91精品| 久久成人免费电影| 秋霞成人午夜伦在线观看| 亚洲丰满少妇videoshd| 亚洲chinese男男1069| 亚洲国产精品影院| 亚洲一区二区免费视频| 亚洲一区二区中文在线| 亚洲动漫第一页| 夜夜精品浪潮av一区二区三区| 国产精品福利在线播放| 亚洲视频一区在线| 成人欧美一区二区三区视频网页| 国产精品美女久久久久aⅴ| 中文一区二区完整视频在线观看| 国产精品美女一区二区| 亚洲欧美一区二区三区孕妇| 一区二区三区在线播| 亚洲国产精品久久人人爱蜜臀| 亚洲第一成年网| 日本不卡在线视频| 国产一区二区三区黄视频| 国产精品自拍网站| 国产精品国产三级国产普通话蜜臀 | 福利视频网站一区二区三区| 成人久久视频在线观看| 日韩精品乱码av一区二区| 蜜臀av性久久久久蜜臀aⅴ四虎| 日本在线不卡一区| 国产精品正在播放| 99视频精品免费视频| 色老汉av一区二区三区| 欧美一级爆毛片| 欧美经典三级视频一区二区三区| 国产精品久久福利| 日韩精品电影一区亚洲| 国产成人欧美日韩在线电影| 色8久久人人97超碰香蕉987| 在线不卡中文字幕| 欧美国产日韩a欧美在线观看| 亚洲另类色综合网站| 天堂精品中文字幕在线| 国产成人在线免费观看| 日韩成人伦理电影在线观看| 国产呦萝稀缺另类资源| 91免费精品国自产拍在线不卡| 在线播放中文一区| 1区2区3区精品视频| 青青草91视频| 成人午夜电影小说| 欧美精品粉嫩高潮一区二区| 久久精品视频免费| 亚洲亚洲精品在线观看| 国产精品一区二区在线播放| 欧美色图免费看| 99re这里只有精品首页| 7777女厕盗摄久久久| 国产精品成人免费在线| 免费看精品久久片| 91在线播放网址| 精品第一国产综合精品aⅴ| 亚洲精品一卡二卡| 国产精品自拍毛片| 欧美日韩国产区一| 中文字幕乱码亚洲精品一区| 婷婷六月综合网| 91玉足脚交白嫩脚丫在线播放| 26uuu久久综合| 国产精品911| 性做久久久久久久久| 午夜精品久久一牛影视| 国产欧美视频在线观看| 91麻豆产精品久久久久久| 99久久99久久免费精品蜜臀| 亚洲日本在线视频观看| 91在线免费播放| 国产精品三级在线观看| 色婷婷av一区二区三区大白胸| 性感美女久久精品| 日韩中文欧美在线| 中文字幕亚洲电影| 国产精品免费视频网站| 狠狠色狠狠色综合日日91app| 欧美日韩国产一级片| 日本系列欧美系列| 91网页版在线| 成人av在线资源网| 久久久国产精品不卡| 国产不卡视频在线观看| 一区二区三区成人在线视频| 欧美一区二区视频观看视频| 不卡一区二区在线| 97精品国产露脸对白| 一区二区三区在线观看网站| 国产日韩影视精品| 亚洲图片你懂的| 91精品国产欧美一区二区| 久久精品国产亚洲aⅴ| 亚洲欧美日韩久久| 欧美一级在线视频| 国产成人精品aa毛片| 欧美亚洲高清一区| 欧美绝品在线观看成人午夜影视| 2023国产精品视频| 亚洲综合一区二区| 精品一二线国产| 欧美精品一区二区三区蜜桃| 久久国产精品99精品国产| 欧美一区午夜视频在线观看| 麻豆精品一二三| 久久综合资源网| 国产精品一二一区| 久久免费偷拍视频| 国产91精品一区二区麻豆亚洲| 国产精品毛片高清在线完整版 | 亚洲欧洲另类国产综合| 成人黄色片在线观看| 18欧美乱大交hd1984| 91美女视频网站| 亚洲成人午夜影院| 日韩区在线观看| 粉嫩av亚洲一区二区图片| 亚洲欧美日韩一区二区三区在线观看| 欧洲人成人精品| 蜜臀av性久久久久蜜臀aⅴ流畅| 国产亚洲综合在线| 91捆绑美女网站| 日韩高清欧美激情| 精品99一区二区| 99久久精品免费看| 午夜精品久久久久久不卡8050| 91.麻豆视频| 国精产品一区一区三区mba桃花| 欧美激情综合在线| 欧美三电影在线| 精品影院一区二区久久久| 国产精品久久久一本精品| 精品视频一区二区三区免费| 国产自产高清不卡| 六月丁香婷婷色狠狠久久| 亚洲一区二区av在线| 亚洲乱码国产乱码精品精的特点 | 久久久久久亚洲综合影院红桃| 欧美日韩国产在线观看| 制服丝袜中文字幕一区| 91精品国产综合久久久久久久久久 | 欧美大片在线观看一区| 欧美日韩在线三级| 久久久久久电影| 中文字幕av不卡| 成人午夜短视频| 精品国产露脸精彩对白| 色8久久人人97超碰香蕉987| 色老汉一区二区三区| 94色蜜桃网一区二区三区| 99精品久久免费看蜜臀剧情介绍| 在线日韩一区二区| 欧美成人精品1314www| 成人精品亚洲人成在线| 三级欧美在线一区| 亚洲综合区在线| 亚洲欧美日韩在线播放| 精品区一区二区|