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

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

?? iipaobj.cpp

?? 英文版的 想要的話可以下載了 為大家服務
?? CPP
字號:
/*
 * IIPAOBJ.CPP
 * Cosmo Chapter 23
 *
 * IOleInPlaceActiveObject interface implementation for Cosmo
 *
 * Copyright (c)1993-1995 Microsoft Corporation, All Rights Reserved
 *
 * Kraig Brockschmidt, Microsoft
 * Internet  :  kraigb@microsoft.com
 * Compuserve:  >INTERNET:kraigb@microsoft.com
 */


#include "cosmo.h"


/*
 * CImpIOleInPlaceActiveObject::CImpIOleInPlaceActiveObject
 * CImpIOleInPlaceActiveObject::~CImpIOleInPlaceActiveObject
 *
 * Parameters (Constructor):
 *  pObj            PCFigure of the object we're in.
 *  pUnkOuter       LPUNKNOWN to which we delegate.
 */

CImpIOleInPlaceActiveObject::CImpIOleInPlaceActiveObject
    (PCFigure pObj, LPUNKNOWN pUnkOuter)
    {
    m_cRef=0;
    m_pObj=pObj;
    m_pUnkOuter=pUnkOuter;
    return;
    }

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



/*
 * CImpIOleInPlaceActiveObject::QueryInterface
 * CImpIOleInPlaceActiveObject::AddRef
 * CImpIOleInPlaceActiveObject::Release
 *
 * Purpose:
 *  IUnknown members for CImpIOleInPlaceActiveObject object.
 */

STDMETHODIMP CImpIOleInPlaceActiveObject::QueryInterface(REFIID riid
    , PPVOID ppv)
    {
    /*
     * This interface should be stand-alone on an object such that
     * a container cannot QueryInterface for it through any other
     * object interface, relying instead of calls to SetActiveObject
     * for it. By implementing QueryInterface here ourselves, we
     * prevent such abuses.  Note that reference counting still
     * uses CFigure.
     */

    *ppv=NULL;

    if (IID_IUnknown==riid || IID_IOleWindow==riid
        || IID_IOleInPlaceActiveObject==riid)
        *ppv=this;

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

    return ResultFromScode(E_NOINTERFACE);
    }


STDMETHODIMP_(ULONG) CImpIOleInPlaceActiveObject::AddRef(void)
    {
    ++m_cRef;
    return m_pUnkOuter->AddRef();
    }

STDMETHODIMP_(ULONG) CImpIOleInPlaceActiveObject::Release(void)
    {
    --m_cRef;
    return m_pUnkOuter->Release();
    }




/*
 * CImpIOleInPlaceActiveObject::GetWindow
 *
 * Purpose:
 *  Retrieves the handle of the window associated with the object
 *  on which this interface is implemented.
 *
 * Parameters:
 *  phWnd           HWND * in which to store the window handle.
 *
 * Return Value:
 *  HRESULT         NOERROR if successful, E_FAIL if there is no
 *                  window.
 */

STDMETHODIMP CImpIOleInPlaceActiveObject::GetWindow(HWND * phWnd)
    {
    *phWnd=m_pObj->m_pHW->Window();
    return NOERROR;
    }




/*
 * CImpIOleInPlaceActiveObject::ContextSensitiveHelp
 *
 * Purpose:
 *  Instructs the object on which this interface is implemented to
 *  enter or leave a context-sensitive help mode.
 *
 * Parameters:
 *  fEnterMode      BOOL TRUE to enter the mode, FALSE otherwise.
 *
 * Return Value:
 *  HRESULT         NOERROR or an error code
 */

STDMETHODIMP CImpIOleInPlaceActiveObject::ContextSensitiveHelp
    (BOOL fEnterMode)
    {
    return ResultFromScode(E_NOTIMPL);
    }




/*
 * CImpIOleInPlaceActiveObject::TranslateAccelerator
 *
 * Purpose:
 *  Requests that the active in-place object translate the message
 *  given in pMSG if appropriate.
 *
 * Parameters:
 *  pMSG            LPMSG to the message to translate.
 *
 * Return Value:
 *  HRESULT         NOERROR if translates, S_FALSE if not.
 */

STDMETHODIMP CImpIOleInPlaceActiveObject::TranslateAccelerator
    (LPMSG pMSG)
    {
    //This is only used for DLL objects.
    return ResultFromScode(S_FALSE);
    }




/*
 * CImpIOleInPlaceActiveObject::OnFrameWindowActivate
 *
 * Purpose:
 *  Informs the in-place object that the container's frame window
 *  was either activated or deactivated.  When the frame is
 *  activated, the object can change its toolbar interface to
 *  reflect a non-activated state as desired.  Usually you don't
 *  have to do anything.
 *
 * Parameters:
 *  fActivate       BOOL TRUE if the frame is active, FALSE
 *                  otherwise
 * Return Value:
 *  HRESULT         NOERROR or an error code
 */

STDMETHODIMP CImpIOleInPlaceActiveObject::OnFrameWindowActivate
    (BOOL fActivate)
    {
    //Nothing for us to do.
    return NOERROR;
    }




/*
 * CImpIOleInPlaceActiveObject::OnDocWindowActivate
 *
 * Purpose:
 *  Informs the in-place object that the document window in the
 *  container is either becoming active or deactive.  On this call
 *  the object must either add or remove frame-level tools,
 *  including the mixed menu, depending on fActivate.
 *
 * Parameters:
 *  fActivate       BOOL TRUE if the document is active, FALSE
 *                  otherwise
 *
 * Return Value:
 *  HRESULT         NOERROR or an error code
 */

STDMETHODIMP CImpIOleInPlaceActiveObject::OnDocWindowActivate
    (BOOL fActivate)
    {
    HWND        hWndTB;

    if (NULL==m_pObj->m_pIOleIPFrame)
        return NOERROR;

    hWndTB=m_pObj->m_pTB->Window();

    if (fActivate)
        {
       #ifdef WIN32ANSI
        OLECHAR     szTemp[40];

        MultiByteToWideChar(CP_ACP, 0
            , (*m_pObj->m_pST)[IDS_INPLACETITLE], -1, szTemp, 40);
        m_pObj->m_pIOleIPFrame->SetActiveObject(this, szTemp);
       #else
        m_pObj->m_pIOleIPFrame->SetActiveObject(this
            , (*m_pObj->m_pST)[IDS_INPLACETITLE]);
       #endif

        m_pObj->m_pIOleIPFrame->SetMenu(m_pObj->m_hMenuShared
            , m_pObj->m_hOLEMenu, m_pObj->m_pFR->Window());

        if (m_pObj->InPlaceToolsRenegotiate())
            {
            RECT    rc;

            m_pObj->m_pIOleIPFrame->GetBorder(&rc);
            SetWindowPos(hWndTB, NULL, rc.left, rc.top
                , rc.right-rc.left, rc.top+m_pObj->m_cyBar
                , SWP_NOZORDER);

            ShowWindow(hWndTB, SW_SHOW);
            }
        }
    else
        {
        m_pObj->m_pIOleIPFrame->SetActiveObject(NULL, NULL);

        //Hide our tools, but do not call SetMenu
        ShowWindow(hWndTB, SW_HIDE);
        }

    return NOERROR;
    }




/*
 * CImpIOleInPlaceActiveObject::ResizeBorder
 *
 * Purpose:
 *  Informs the object that the frame or document size changed in
 *  which case the object may need to resize any of its frame or
 *  document-level tools to match.
 *
 * Parameters:
 *  pRect           LPCRECT indicating the new size of the window
 *                  of interest.
 *  pIUIWindow      LPOLEINPLACEUIWINDOW pointing to an
 *                  IOleInPlaceUIWindow interface on the container
 *                  object of interest.  We use this to do border-
 *                  space negotiation.
 *  fFrame          BOOL indicating if the frame was resized (TRUE)
 *                  or the document (FALSE)
 *
 * Return Value:
 *  HRESULT         NOERROR or an error code
 */

STDMETHODIMP CImpIOleInPlaceActiveObject::ResizeBorder(LPCRECT pRect
    , LPOLEINPLACEUIWINDOW pIUIWindow, BOOL fFrame)
    {
    //The document case is uninteresting for us.
    if (!fFrame)
        return NOERROR;

    if (!m_pObj->InPlaceToolsRenegotiate())
        return ResultFromScode(INPLACE_E_NOTOOLSPACE);

    SetWindowPos(m_pObj->m_pTB->Window(), NULL, pRect->left
        , pRect->top, pRect->right-pRect->left, m_pObj->m_cyBar
        , SWP_NOZORDER);

    return NOERROR;
    }




/*
 * CImpIOleInPlaceActiveObject::EnableModeless
 *
 * Purpose:
 *  Instructs the object to show or hide any modeless popup windows
 *  that it may be using when activated in-place.
 *
 * Parameters:
 *  fEnable         BOOL indicating to enable/show the windows
 *                  (TRUE) or to hide them (FALSE).
 *
 * Return Value:
 *  HRESULT         NOERROR or an error code
 */

STDMETHODIMP CImpIOleInPlaceActiveObject::EnableModeless
    (BOOL fActivate)
    {
    return ResultFromScode(E_NOTIMPL);
    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩和欧美一区二区| 国产精品高潮呻吟久久| 亚洲图片一区二区| 91搞黄在线观看| 亚洲美女偷拍久久| 在线观看视频一区二区欧美日韩| 亚洲一区自拍偷拍| 日韩一区国产二区欧美三区| 久久激情五月激情| 国产精品理伦片| 91美女片黄在线| 午夜精品免费在线| 精品国产乱码久久久久久闺蜜| 国产精品77777| 亚洲人成在线观看一区二区| 欧美日韩一区二区三区免费看| 丝袜美腿一区二区三区| 久久久久高清精品| 91理论电影在线观看| 天堂va蜜桃一区二区三区| 久久久亚洲国产美女国产盗摄| 99re66热这里只有精品3直播 | 精品国产一区二区亚洲人成毛片| 麻豆精品精品国产自在97香蕉| 国产色爱av资源综合区| 欧美伊人久久久久久久久影院| 毛片av中文字幕一区二区| 国产三级欧美三级日产三级99| 色素色在线综合| 久久精品国产精品亚洲精品| 亚洲欧美电影一区二区| 精品久久久久久久人人人人传媒| www.成人网.com| 免费成人在线影院| 亚洲图片欧美激情| 久久综合中文字幕| 91蝌蚪porny| 激情六月婷婷久久| 一区二区三区在线观看网站| 久久亚洲免费视频| 在线观看www91| kk眼镜猥琐国模调教系列一区二区| 日韩电影一二三区| 亚洲六月丁香色婷婷综合久久| 久久久亚洲国产美女国产盗摄| 欧美精品一级二级| 99re66热这里只有精品3直播| 狠狠狠色丁香婷婷综合久久五月| 亚洲另类在线制服丝袜| 欧美极品xxx| 久久综合给合久久狠狠狠97色69| 欧美性极品少妇| 97精品久久久久中文字幕| 国产精品一区二区久久精品爱涩| 丝袜脚交一区二区| 亚洲影视资源网| 亚洲色图一区二区三区| 国产三级精品在线| 日韩免费观看高清完整版| 色综合久久久久| av一区二区三区| 国产精品456露脸| 久久 天天综合| 蜜桃一区二区三区在线| 视频一区二区中文字幕| 亚洲国产欧美日韩另类综合| 国产精品第一页第二页第三页| 欧美国产综合一区二区| 亚洲精品在线观看网站| 日韩久久久久久| 日韩免费成人网| 日韩你懂的在线观看| 91精品国产综合久久精品 | 欧美日韩一二三区| 欧美一a一片一级一片| 91日韩一区二区三区| 91日韩精品一区| 一本一本久久a久久精品综合麻豆| 成人性生交大片免费看中文| 成人性色生活片免费看爆迷你毛片| 国产精品亚洲成人| 成人综合婷婷国产精品久久免费| 国产自产视频一区二区三区 | 国产成人精品亚洲日本在线桃色| 国产在线视频一区二区| 国产精品99久久久| 波多野结衣在线一区| 成人激情校园春色| 91网站在线播放| 欧美亚洲综合在线| 日韩一二三区视频| 久久久久97国产精华液好用吗| 欧美高清在线一区二区| 亚洲欧美一区二区三区孕妇| 亚洲在线中文字幕| 蜜桃av一区二区三区电影| 国内精品写真在线观看| 成人理论电影网| 欧美亚洲日本一区| 欧美v亚洲v综合ⅴ国产v| 国产视频911| 亚洲高清在线精品| 玖玖九九国产精品| 99精品视频一区二区| 欧美日韩高清在线播放| 26uuu国产一区二区三区| 亚洲人亚洲人成电影网站色| 亚洲国产日韩在线一区模特| 麻豆精品蜜桃视频网站| 99久久婷婷国产| 欧美精品vⅰdeose4hd| 久久久精品欧美丰满| 亚洲精品久久7777| 六月丁香婷婷久久| 色欧美日韩亚洲| 日韩一区二区在线看| 国产精品久线在线观看| 日韩精品视频网站| 成人午夜免费电影| 欧美一区在线视频| 亚洲日本欧美天堂| 寂寞少妇一区二区三区| 在线精品观看国产| 久久久久久久久久电影| 午夜欧美大尺度福利影院在线看| 国产精品影视在线| 欧美日韩激情一区二区三区| 欧美激情一区三区| 日韩 欧美一区二区三区| 成人午夜激情片| 26uuu欧美日本| 亚洲午夜激情网站| www.日韩在线| 欧美精品一区视频| 日韩激情视频网站| 91免费视频网| 中文一区在线播放| 另类专区欧美蜜桃臀第一页| 欧美亚洲国产一区在线观看网站| 久久久久久久性| 美女视频黄a大片欧美| 欧美日韩在线精品一区二区三区激情 | 9191久久久久久久久久久| 国产精品色噜噜| 国内不卡的二区三区中文字幕 | 久久精品国产99国产| 色综合天天综合色综合av| 久久综合九色综合久久久精品综合 | 亚洲蜜臀av乱码久久精品| 国产精品羞羞答答xxdd| 日韩欧美国产一区二区三区| 亚洲另类色综合网站| 不卡的av中国片| 久久久91精品国产一区二区精品| 蜜臀久久久久久久| 在线播放中文一区| 亚洲gay无套男同| 在线观看视频一区二区| 一区二区三区在线视频观看58| 成人黄色电影在线| 中文字幕一区在线| 99久久婷婷国产综合精品| 国产精品免费视频一区| 国产福利一区二区三区视频在线 | 日本高清视频一区二区| 国产精品高潮呻吟| www.欧美日韩| 最好看的中文字幕久久| 91网站视频在线观看| 亚洲三级小视频| 色哟哟国产精品| 亚洲一区二区欧美| 91精品国产欧美一区二区18| 天堂av在线一区| 欧美一级片在线| 久久99精品国产91久久来源| 欧美tk—视频vk| 国产精品亚洲视频| 中文字幕一区二区三区精华液| 99re视频这里只有精品| 亚洲黄色性网站| 欧美日韩国产成人在线91| 日韩和欧美一区二区三区| 精品久久久久久久久久久院品网 | 亚洲综合色噜噜狠狠| 欧美日韩一卡二卡| 免费精品视频最新在线| 久久久久久久久一| 91麻豆免费观看| 性做久久久久久免费观看欧美| 日韩亚洲欧美中文三级| 韩国av一区二区三区四区| 国产欧美综合在线| 欧洲一区二区三区在线| 午夜精品在线看| 久久久久久久久久电影| 99re成人精品视频| 日韩成人精品在线观看| 久久久99精品免费观看| 一本色道亚洲精品aⅴ|