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

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

?? iipuiwin.cpp

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


#include "patron.h"


/*
 * CImpIOleInPlaceUIWindow::CImpIOleInPlaceUIWindow
 * CImpIOleInPlaceUIWindow::~CImpIOleInPlaceUIWindow
 *
 * Parameters (Constructor):
 *  pDoc            PCPatronDoc of the document we're in.
 *  pUnkOuter       LPUNKNOWN to which we delegate.
 */

CImpIOleInPlaceUIWindow::CImpIOleInPlaceUIWindow(PCPatronDoc pDoc
    , LPUNKNOWN pUnkOuter)
    {
    m_cRef=0;
    m_pDoc=pDoc;
    m_pUnkOuter=pUnkOuter;
    return;
    }

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



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

STDMETHODIMP CImpIOleInPlaceUIWindow::QueryInterface(REFIID riid
    , PPVOID ppv)
    {
    return m_pUnkOuter->QueryInterface(riid, ppv);
    }


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

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




/*
 * CImpIOleInPlaceUIWindow::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 CImpIOleInPlaceUIWindow::GetWindow(HWND *phWnd)
    {
    *phWnd=m_pDoc->m_hWnd;
    return NOERROR;
    }




/*
 * CImpIOleInPlaceUIWindow::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 appropriate error code.
 */

STDMETHODIMP CImpIOleInPlaceUIWindow::ContextSensitiveHelp
    (BOOL fEnterMode)
    {
   #ifdef MDI
    //Only MDI documents care
    if (NULL!=m_pDoc->m_pIOleIPActiveObject)
        {
        m_pDoc->m_pIOleIPActiveObject->ContextSensitiveHelp
           (fEnterMode);
        }
   #endif
    return NOERROR;
    }




/*
 * CImpIOleInPlaceUIWindow::GetBorder
 *
 * Purpose:
 *  Returns the rectangle in which the container is willing to
 *  negotiate about an object's adornments.
 *
 * Parameters:
 *  prcBorder       LPRECT in which to store the rectangle.
 *
 * Return Value:
 *  HRESULT         NOERROR if all is well, INPLACE_E_NOTOOLSPACE if
 *                  there is no negotiable space.
 */

STDMETHODIMP CImpIOleInPlaceUIWindow::GetBorder(LPRECT prcBorder)
    {
    if (NULL==prcBorder)
        return ResultFromScode(E_INVALIDARG);

    /*
     * All of the document window space is available for negotiation
     * since we can resize the Pages window to anything we want.  So
     * we just return the entire client rectangle here.
     */
    GetClientRect(m_pDoc->m_hWnd, prcBorder);
    return NOERROR;
    }




/*
 * CImpIOleInPlaceUIWindow::RequestBorderSpace
 *
 * Purpose:
 *  Asks the container if it can surrender the amount of space
 *  in pBW that the object would like for it's adornments.  The
 *  container does nothing but validate the spaces on this call.
 *
 * Parameters:
 *  pBW             LPCBORDERWIDTHS containing the requested space.
 *                  The values are the amount of space requested
 *                  from each side of the relevant window.
 *
 * Return Value:
 *  HRESULT         NOERROR if we can give up space,
 *                  INPLACE_E_NOTOOLSPACE otherwise.
 */

STDMETHODIMP CImpIOleInPlaceUIWindow::RequestBorderSpace
    (LPCBORDERWIDTHS pBW)
    {
    //We don't have any restrictions, so we always return NOERROR.
    return NOERROR;
    }




/*
 * CImpIOleInPlaceUIWindow::SetBorderSpace
 *
 * Purpose:
 *  Called when the object now officially requests that the
 *  container surrender border space it previously allowed in
 *  RequestBorderSpace.  The container should resize windows
 *  appropriately to surrender this space.
 *
 * Parameters:
 *  pBW             LPCBORDERWIDTHS containing the amount of space
 *                  from each side of the relevant window that
 *                  the object is now reserving.
 *
 * Return Value:
 *  HRESULT         NOERROR
 */

STDMETHODIMP CImpIOleInPlaceUIWindow::SetBorderSpace
    (LPCBORDERWIDTHS pBW)
    {
    RECT        rc;
    HWND        hWndDoc;
    HWND        hWndPages;
    POINT       pt1, pt2;

    if (NULL==pBW)
        return NOERROR;

    /*
     * Now we just have to resize the Pages window to make room for
     * the object's tools or resize it to occupy the full document
     * if we're reverting to normal.
     */

    hWndDoc=m_pDoc->m_hWnd;
    hWndPages=m_pDoc->m_pPG->Window();

    //Get the current offset of the Pages
    GetWindowRect(hWndPages, &rc);
    SETPOINT(pt1, rc.left, rc.top);
    SETPOINT(pt2, rc.right, rc.bottom);
    ScreenToClient(hWndDoc, &pt1);
    ScreenToClient(hWndDoc, &pt2);

    GetClientRect(hWndDoc, &rc);

    if (NULL!=pBW)
        {
        rc.left+=pBW->left;
        rc.right-=pBW->right;
        rc.top+=pBW->top;
        rc.bottom-=pBW->bottom;
        }

    //Only move Pages if necessary
    if (!(pt1.x==rc.left && pt1.y==rc.top
        && pt2.x==rc.right && pt2.y==rc.bottom))
        {
        SendMessage(hWndDoc, WM_SETREDRAW, FALSE, 0L);
        ShowWindow(hWndPages, SW_HIDE);

        m_pDoc->m_pPG->RectSet(&rc, FALSE);

        /*
         * Scroll the Pages in the opposite direction to keep
         * objects steady.
         */

        SendScrollPosition(hWndPages, WM_HSCROLL, pBW->left-pt1.x);
        SendScrollPosition(hWndPages, WM_VSCROLL, pBW->top-pt1.y);

        SendMessage(hWndDoc, WM_SETREDRAW, TRUE, 0L);
        ShowWindow(hWndPages, SW_SHOW);
        }


    return NOERROR;
    }




/*
 * CImpIOleInPlaceUIWindow::SetActiveObject
 *
 * Purpose:
 *  Provides the container with the object's IOleInPlaceActiveObject
 *  pointer.
 *
 * Parameters:
 *  pIIPActiveObj   LPOLEINPLACEACTIVEOBJECT of interest.
 *  pszObj          LPCOLESTR naming the object.  Not used.
 *
 * Return Value:
 *  HRESULT         NOERROR
 */

STDMETHODIMP CImpIOleInPlaceUIWindow::SetActiveObject(
    LPOLEINPLACEACTIVEOBJECT pIIPActiveObj, LPCOLESTR pszObj)
    {
    if (NULL!=m_pDoc->m_pIOleIPActiveObject)
        m_pDoc->m_pIOleIPActiveObject->Release();

    //NULLs m_pIOleIPActiveObject if pIIPActiveObj is NULL
    m_pDoc->m_pIOleIPActiveObject=pIIPActiveObj;

    if (NULL!=m_pDoc->m_pIOleIPActiveObject)
        m_pDoc->m_pIOleIPActiveObject->AddRef();

    return NOERROR;
    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品免费aⅴ片在线观看| 国产精品欧美经典| 99re热这里只有精品视频| 国产精品一二三区| 成人性生交大片免费 | 色婷婷av久久久久久久| www.99精品| 99精品一区二区| 91麻豆国产香蕉久久精品| 97se狠狠狠综合亚洲狠狠| 色噜噜狠狠色综合中国| 欧美自拍丝袜亚洲| 91麻豆精品国产自产在线| 日韩欧美亚洲国产另类| 欧美一区二区三区免费视频| 日韩一区二区影院| 久久一区二区视频| 亚洲人成网站影音先锋播放| 亚洲综合激情小说| 日韩精品一卡二卡三卡四卡无卡| 奇米影视7777精品一区二区| 狠狠网亚洲精品| 99久久99久久精品国产片果冻| 91国模大尺度私拍在线视频| 91.成人天堂一区| 久久精品人人做人人爽97| 亚洲四区在线观看| 性久久久久久久| 国产一区二区不卡| 91免费观看在线| 欧美一区永久视频免费观看| 日韩精品综合一本久道在线视频| 久久精品网站免费观看| 亚洲乱码国产乱码精品精可以看| 天堂久久久久va久久久久| 国产一区二区三区在线观看免费| 成人99免费视频| 这里只有精品99re| ●精品国产综合乱码久久久久 | 欧美三级欧美一级| 久久久影视传媒| 亚洲成人777| av中文字幕一区| 欧美一卡二卡在线观看| 亚洲欧美一区二区不卡| 麻豆成人久久精品二区三区红| 99在线精品观看| 久久丝袜美腿综合| 无吗不卡中文字幕| 成人免费视频免费观看| 欧美成人女星排名| 亚洲电影一区二区| 99re这里只有精品首页| 国产午夜亚洲精品午夜鲁丝片| 亚洲自拍与偷拍| 不卡一二三区首页| 国产午夜精品一区二区三区嫩草| 午夜精品一区二区三区三上悠亚| 国产福利一区在线观看| 欧美一级艳片视频免费观看| 亚洲综合在线免费观看| 99久久99久久免费精品蜜臀| 久久精品视频一区| 另类小说欧美激情| 日韩欧美一区二区在线视频| 亚洲午夜久久久久久久久电影院| 成人激情视频网站| 亚洲国产精品成人综合| 狠狠久久亚洲欧美| 久久一区二区视频| 国产一区不卡视频| 久久婷婷久久一区二区三区| 久久精品国产**网站演员| 日韩一区二区精品在线观看| 视频一区二区国产| 337p亚洲精品色噜噜| 亚洲超碰97人人做人人爱| 欧美综合在线视频| 亚洲国产sm捆绑调教视频 | 国产伦精品一区二区三区免费| 欧美二区乱c少妇| 日韩精品一级二级| 日韩欧美在线综合网| 麻豆一区二区99久久久久| 欧美电影精品一区二区| 韩国精品主播一区二区在线观看| 欧美变态口味重另类| 国产精品996| 亚洲女厕所小便bbb| 欧美日韩你懂的| 日本va欧美va精品发布| 精品三级在线观看| 成人午夜视频网站| 亚洲在线一区二区三区| 91精品国产免费| 国产一区二区三区在线观看精品| 中文字幕av一区二区三区免费看| 色综合视频在线观看| 天天av天天翘天天综合网色鬼国产| 在线电影院国产精品| 激情图区综合网| 国产精品国产a级| 欧美日韩成人综合| 国内成人免费视频| 亚洲色图欧美激情| 欧美老女人第四色| 国产精品一区二区久久不卡| 日韩毛片视频在线看| 欧美一区二区三区视频免费播放| 久久精品国产一区二区三| 成人免费在线播放视频| 4438x成人网最大色成网站| 国产成人亚洲精品青草天美| 伊人色综合久久天天人手人婷| 欧美一级免费观看| 成人精品视频一区二区三区| 日韩福利视频网| 国产精品另类一区| 欧美一级xxx| 成人免费高清在线| 久久国产福利国产秒拍| 亚洲综合无码一区二区| 国产欧美一区二区精品秋霞影院| 欧美日韩精品系列| 91香蕉国产在线观看软件| 激情综合色综合久久综合| 亚洲欧美偷拍三级| 国产亚洲精品超碰| 欧美videossexotv100| 欧美视频一区在线| 成人av网站在线观看免费| 精品一区二区在线播放| 亚洲444eee在线观看| 中文字幕日本不卡| 国产喷白浆一区二区三区| 欧美成人性福生活免费看| 欧美日韩国产三级| 色噜噜狠狠色综合中国| av在线播放成人| 国产高清久久久| 国内精品国产三级国产a久久| 日本不卡一二三| 婷婷综合在线观看| 玉足女爽爽91| 一区二区三区四区不卡视频| 最新热久久免费视频| 中文成人av在线| 国产精品天天看| 国产欧美日韩不卡免费| 久久精品亚洲精品国产欧美| 精品对白一区国产伦| 精品少妇一区二区三区在线播放 | 久久亚洲精华国产精华液 | 亚洲三级在线看| 国产精品久久精品日日| 国产精品色婷婷| 国产精品久久久久一区| 成人欧美一区二区三区小说| 亚洲伦在线观看| 亚洲一区二区三区自拍| 午夜影视日本亚洲欧洲精品| 婷婷中文字幕综合| 美腿丝袜亚洲一区| 精品一区在线看| 国产精品69久久久久水密桃| 成人精品视频一区二区三区尤物| 粉嫩久久99精品久久久久久夜| 成人18视频在线播放| 91成人在线免费观看| 欧美日韩国产乱码电影| 日韩欧美一级精品久久| 国产网站一区二区三区| 自拍偷拍欧美精品| 午夜精品一区在线观看| 国产一区二区看久久| 99re视频这里只有精品| 欧美高清视频在线高清观看mv色露露十八| 91精品国产综合久久香蕉的特点| 欧美一区二区三区在线看| 国产人成一区二区三区影院| 一区二区免费在线播放| 强制捆绑调教一区二区| 国产91丝袜在线播放0| 91女人视频在线观看| 4438x成人网最大色成网站| 欧美激情中文字幕| 亚洲丶国产丶欧美一区二区三区| 韩国av一区二区三区四区| 99re热这里只有精品视频| 91精品国产乱码| 中文字幕va一区二区三区| 日韩成人av影视| 91香蕉视频在线| 精品美女一区二区| 国产精品国产三级国产aⅴ原创 | 香蕉影视欧美成人| 国产在线视频精品一区| 在线观看日韩国产| 久久精品欧美日韩| 日本vs亚洲vs韩国一区三区二区 |