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

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

?? iipaobj.cpp

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


#include "polyline.h"


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

CImpIOleInPlaceActiveObject::CImpIOleInPlaceActiveObject
    (PCPolyline 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;

    //AddRef any interface we'll return.
    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.  This is only called for DLL
 *  servers where the container's message loop is running.  EXE
 *  servers have control of the message loop so this will not be
 *  called in such cases.
 *
 * Parameters:
 *  pMSG            LPMSG to the message to translate.
 *
 * Return Value:
 *  HRESULT         NOERROR if translates, S_FALSE if not.
 */

STDMETHODIMP CImpIOleInPlaceActiveObject::TranslateAccelerator
    (LPMSG pMSG)
    {
    //We have no accelerators, but this is called anyway
    return ResultFromScode(S_FALSE);
    }




/*
 * CImpIOleInPlaceActiveObject::OnFrameWindowActivate
 *
 * Purpose:
 *  Informs the in-place object that the container's frame window
 *  was either activated or deactivated.  Not currently used.
 *
 * Parameters:
 *  fActivate       BOOL TRUE if the frame is active,
 *                  FALSE otherwise
 *
 * Return Value:
 *  HRESULT         NOERROR or an error code.
 */

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




/*
 * 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)
    {
    if (NULL==m_pObj->m_pIOleIPFrame)
        return NOERROR;

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

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

        m_pObj->m_pIOleIPFrame->SetMenu(m_pObj->m_hMenuShared
            , m_pObj->m_hOLEMenu, m_pObj->m_hWnd);

        //Nothing to do with tools.
        }
    else
        {
        m_pObj->m_pIOleIPFrame->SetActiveObject(NULL, NULL);
        }

    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)
    {
    return ResultFromScode(E_NOTIMPL);
    }




/*
 * 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在线观看免费视频| 亚洲成av人片| 精品乱人伦小说| 色综合视频一区二区三区高清| 亚洲国产日韩在线一区模特| 亚洲精品一区二区三区四区高清| 99精品视频中文字幕| 午夜精品成人在线视频| 久久这里只有精品首页| 91丨porny丨国产入口| 亚洲成人一二三| 国产欧美日韩精品a在线观看| 在线观看三级视频欧美| 国产乱子伦视频一区二区三区| 亚洲伦在线观看| 精品福利在线导航| 欧美午夜免费电影| 从欧美一区二区三区| 日韩精品成人一区二区三区| 国产精品伦理一区二区| 日韩欧美另类在线| 91精品办公室少妇高潮对白| 美女国产一区二区| 一区二区三区在线视频观看| 久久综合久久鬼色| 欧美日韩国产高清一区二区三区 | 中文无字幕一区二区三区| 日本道在线观看一区二区| 国产乱码精品一品二品| 亚洲国产日韩一级| 中文字幕亚洲一区二区va在线| 日韩三级电影网址| 欧美日韩成人综合天天影院 | 亚洲一区二区三区四区五区黄| 久久久久国产精品人| 欧美电影在哪看比较好| 91麻豆国产福利精品| 国产一区二区视频在线| 日韩精品视频网| 一区二区三区四区激情| 国产欧美视频一区二区| 精品女同一区二区| 91麻豆精品国产91久久久资源速度 | 色呦呦一区二区三区| 国产一区二区精品久久91| 蜜臀91精品一区二区三区| 亚洲国产你懂的| 亚洲精品一二三区| 中文字幕制服丝袜成人av| 久久色在线观看| 欧美精品一区二区三区蜜桃| 欧美一级午夜免费电影| 911国产精品| 91精品欧美综合在线观看最新| 欧美性猛交xxxxxxxx| 91福利国产成人精品照片| 99re热这里只有精品免费视频| 国产成人亚洲综合a∨婷婷| 国产精品自拍一区| 国产伦精品一区二区三区视频青涩 | 国产精品原创巨作av| 国产综合成人久久大片91| 国产一区二区三区精品视频| 国产真实精品久久二三区| 国产在线一区观看| 国产精品亚洲第一区在线暖暖韩国 | 久久中文娱乐网| 国产三级精品三级| 中文字幕在线观看一区二区| 国产精品久久午夜| 亚洲精选一二三| 亚洲一区在线观看免费| 亚洲国产一区视频| 美日韩一区二区| 国产在线视频精品一区| 成人美女视频在线观看| 91免费看视频| 欧美另类久久久品| 欧美变态tickling挠脚心| 久久亚洲精华国产精华液| 国产精品丝袜一区| 亚洲三级电影网站| 午夜精品久久久久久久99樱桃| 日韩精品三区四区| 国产精品自拍av| 91免费视频网| 欧美一二三区精品| 国产欧美综合色| 五月天亚洲婷婷| 国产资源在线一区| 色综合久久六月婷婷中文字幕| 欧美性猛交一区二区三区精品| 欧美一区二区三区成人| 久久在线免费观看| 悠悠色在线精品| 国内精品久久久久影院薰衣草| 成人国产精品免费网站| 欧美色图免费看| 久久久欧美精品sm网站| 一区二区中文视频| 麻豆成人综合网| 91蜜桃在线免费视频| 欧美一区二区播放| 国产精品看片你懂得| 人人爽香蕉精品| 99re成人精品视频| 精品久久久久香蕉网| 亚洲一区二区三区影院| 国产高清在线精品| 欧美精品在线观看播放| 国产精品久久久久影院亚瑟 | 欧美成人一区二区三区片免费| 国产精品美日韩| 青椒成人免费视频| 91女厕偷拍女厕偷拍高清| 欧美成人精精品一区二区频| 亚洲黄色av一区| 国产高清不卡一区| 欧美高清激情brazzers| 1024国产精品| 国产麻豆精品在线观看| 欧美美女bb生活片| 亚洲欧美另类小说| 国v精品久久久网| 精品久久国产97色综合| 亚洲国产一区在线观看| 91麻豆免费观看| 国产精品午夜在线观看| 狠狠色狠狠色综合| 欧美一区二区精品| 亚洲一区在线观看网站| 91天堂素人约啪| 国产女人水真多18毛片18精品视频 | 日韩不卡免费视频| 91黄色小视频| 亚洲色图.com| av不卡免费在线观看| 国产欧美一区二区三区在线老狼| 麻豆国产精品777777在线| 欧美日韩不卡在线| 亚洲国产精品一区二区久久恐怖片| 99热99精品| 18欧美亚洲精品| 成人免费看片app下载| 日本一区二区三区久久久久久久久不 | 91精选在线观看| 亚洲丶国产丶欧美一区二区三区| 色综合视频在线观看| 亚洲人成在线观看一区二区| 成人午夜激情在线| 欧美激情一区二区三区不卡| 国产精品一区久久久久| 精品国产精品网麻豆系列 | 夜夜嗨av一区二区三区四季av| 成人av影院在线| 最新热久久免费视频| av一区二区久久| 亚洲品质自拍视频| 一本色道亚洲精品aⅴ| 亚洲欧美色综合| 精品视频一区三区九区| 天堂在线一区二区| 91精品国产免费久久综合| 裸体歌舞表演一区二区| 亚洲精品在线免费观看视频| 黑人精品欧美一区二区蜜桃| 久久一区二区三区四区| 粉嫩一区二区三区性色av| 国产精品国产三级国产aⅴ无密码| 99亚偷拍自图区亚洲| 亚洲精品日产精品乱码不卡| 欧美在线观看18| 日本午夜一本久久久综合| 26uuu国产日韩综合| 国产很黄免费观看久久| 亚洲日本青草视频在线怡红院| 欧洲av一区二区嗯嗯嗯啊| 五月开心婷婷久久| 精品欧美一区二区久久| www.亚洲在线| 亚洲国产成人porn| 精品99一区二区| www.66久久| 日韩精品免费专区| 日本一区二区在线不卡| 欧美日韩精品高清| 国产激情一区二区三区|