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

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

?? autofig.cpp

?? 英文版的 想要的話可以下載了 為大家服務
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
/*
 * AUTOFIG.CPP
 * Cosmo Chapter 14
 *
 * "Figure" object for Cosmo's OLE Automation support, derived
 * from CAutoBase.
 *
 * Copyright (c)1993-1995 Microsoft Corporation, All Right Reserved.
 *
 * Kraig Brockschmidt, Microsoft
 * Internet  :  kraigb@microsoft.com
 * Compuserve:  INTERNET>kraigb@microsoft.com
 */


#include "cosmo.h"


/*
 * CAutoFigure::CAutoFigure
 * CAutoFigure::~CAutoFigure
 *
 * Constructor Parameters:
 *  pDoc            PCCosmoDoc to the dpcument object that we
 *                  use to implement much of this interface.
 */

CAutoFigure::CAutoFigure(PCCosmoDoc pDoc)
    : CAutoBase(pDoc, pDoc->m_hInst, IID_ICosmoFigure
    , DIID_DICosmoFigure, ObjectDestroyed)
    {
    return;
    }


/*
 * CAutoFigure::QueryInterface
 * CAutoFigure::AddRef
 * CAutoFigure::Release
 */

STDMETHODIMP CAutoFigure::QueryInterface(REFIID riid, PPVOID ppv)
    {
    *ppv=NULL;

    if (IID_IUnknown==riid || IID_ICosmoFigure==riid)
        *ppv=(IUnknown *)this;

    if (IID_IDispatch==riid || m_diid==riid)
        *ppv=m_pImpIDispatch;

    if (IID_IExternalConnection==riid)
        *ppv=m_pImpIExtConn;

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

    return ResultFromScode(E_NOINTERFACE);
    }

STDMETHODIMP_(ULONG) CAutoFigure::AddRef(void)
    {
    return ++m_cRef;
    }

STDMETHODIMP_(ULONG) CAutoFigure::Release(void)
    {
    /*
     * Since this object might have come from a class factory,
     * we count it's existence (see NewFigure below) for
     * controlling shutdown of the application when we call
     * ObjectDestroyed.  Otherwise we always close the document.
     */
    if (0L!=--m_cRef)
        return m_cRef;

    put_Visible(FALSE);
    SendMessage(m_pDoc->Window(), WM_CLOSE, 0, 0L);

    if (NULL!=m_pfnDestroy)
        (*m_pfnDestroy)();

    return 0L;
    }


/*
 * CAutoFigure::VTableInterface
 *
 * Purpose:
 *  Returns the right vtable pointer to use when calling
 *  ITypeInfo::Invoke (see CImpIDispatch::Invoke in AUTOBASE.CPP).
 */
void *CAutoFigure::VTableInterface(void)
    {
    return (ICosmoFigure *)this;
    }



//All that follows is the ICosmoFigure implementation

/*
 * CAutoFigure::Application
 * CAutoFigure::Parent
 * Properties, read-only
 *
 * The application object (CAutoApp) in which we're contained,
 * which is stored in the frame object
 */

STDMETHODIMP_(IDispatch *) CAutoFigure::get_Application(void)
    {
    PCCosmoFrame    pFR;

    pFR=(PCCosmoFrame)m_pDoc->m_pFR;
    return pFR->AutoApp()->get_Application();
    }

STDMETHODIMP_(IDispatch *) CAutoFigure::get_Parent(void)
    {
    return get_Application();
    }


/*
 * CAutoFigure::FullName, Name, Path
 * Properties, read-only
 *
 * Retrieve the full pathname of the figure file (FullName),
 * just the file name (Name), or just the path (Path).
 *
 * Note that these functions are very similar to the same
 * ones in CAutoApp, and there is probably some code that could
 * be shared between them, but this sample won't bother with
 * such an optimization.
 */

STDMETHODIMP_(BSTR) CAutoFigure::get_FullName(void)
    {
    if ((TCHAR)0==m_pDoc->m_szFile[0])
        return NULL;

   #ifdef WIN32ANSI
    OLECHAR     szTemp[512];

    MultiByteToWideChar(CP_ACP, 0, m_pDoc->m_szFile, -1, szTemp, 512);
    return SysAllocString(szTemp);
   #else
    return SysAllocString(m_pDoc->m_szFile);
   #endif
    }

STDMETHODIMP_(BSTR) CAutoFigure::get_Name(void)
    {
    BSTR        bstrFull=NULL;
    BSTR        bstrName=NULL;
    const int   cch=256;
    TCHAR       szName[256];

    //Get the full path
    bstrFull=get_FullName();

    if (NULL==bstrFull)
        return NULL;

    //Now retrieve just the filename
   #ifdef WIN32ANSI
    char        szTemp[cch];
    OLECHAR     szTempW[cch];

    WideCharToMultiByte(CP_ACP, 0, bstrFull, -1, szTemp
        , cch, NULL, NULL);
    if (0==GetFileTitle(szTemp, szName, cch))
        {
        MultiByteToWideChar(CP_ACP, 0, szName, -1, szTempW, cch);
        bstrName=SysAllocString(szTempW);
        }
   #else
    if (0==GetFileTitle(bstrFull, szName, cch))
        bstrName=SysAllocString(szName);
   #endif

    SysFreeString(bstrFull);
    return bstrName;
    }

STDMETHODIMP_(BSTR) CAutoFigure::get_Path(void)
    {
    BSTR        bstrFull=NULL;
    BSTR        bstrName=NULL;
    BSTR        bstrPath=NULL;

    bstrFull=get_FullName();

    if (NULL==bstrFull)
        return NULL;

    bstrName=get_Name();

    if (NULL!=bstrName)
        {
        LPOLESTR    psz;

        /*
         * Find the position of bstrName in bstrFull then copy
         * only charaters up to that point into bstrPath.
         */
       #ifdef WIN32ANSI
        psz=wcsstr(bstrFull, bstrName);
       #else
        psz=_tcsstr(bstrFull, bstrName);
       #endif

        //The -1 accounts for the \ before the filename
        bstrPath=SysAllocStringLen(bstrFull
            , ((psz-bstrFull)/sizeof(TCHAR))-1);
        SysFreeString(bstrName);
        }

    SysFreeString(bstrFull);
    return bstrPath;
    }


/*
 * CAutoFigure::Saved
 * Property, read-only
 *
 * TRUE if the document is clean, FALSE otherwise.
 */

STDMETHODIMP_(VARIANT_BOOL) CAutoFigure::get_Saved(void)
    {
    return !m_pDoc->FDirtyGet();
    }


/*
 * CAutoFigure::NumberOfPoints
 * Property, read-only
 *
 * Number of points in the current figure.
 */

STDMETHODIMP_(short)CAutoFigure::get_NumberOfPoints(void)
    {
    POLYLINEDATA    pl;

    m_pDoc->m_pPL->DataGet(&pl, VERSIONCURRENT);
    return pl.cPoints;
    }


/*
 * CAutoFigure::BackColor
 * CAutoFigure::LineColor
 * Properties, read-write
 *
 * Colors used in the figure.
 */

STDMETHODIMP_(long) CAutoFigure::get_BackColor(void)
    {
    return m_pDoc->ColorGet(POLYLINECOLOR_BACKGROUND);
    }

STDMETHODIMP_(void) CAutoFigure::put_BackColor(long clrBack)
    {
    m_pDoc->ColorSet(POLYLINECOLOR_BACKGROUND, clrBack);
    return;
    }

STDMETHODIMP_(long) CAutoFigure::get_LineColor(void)
    {
    return m_pDoc->ColorGet(POLYLINECOLOR_LINE);
    }

STDMETHODIMP_(void) CAutoFigure::put_LineColor(long clrLine)
    {
    m_pDoc->ColorSet(POLYLINECOLOR_LINE, clrLine);
    return;
    }


/*
 * CAutoFigure::LineStyle
 * Property, read-write
 *
 * Line style used to draw the figure
 */

STDMETHODIMP_(short)CAutoFigure::get_LineStyle(void)
    {
    return m_pDoc->LineStyleGet();
    }

STDMETHODIMP_(void) CAutoFigure::put_LineStyle(short iStyle)
    {
    m_pDoc->LineStyleSet(iStyle);
    return;
    }


/*
 * CAutoFigure::Left, Top, Width, Height
 * Properties, read-write
 *
 * Horizontal (Left) and vertical (Top) positions of the frame
 * window from the left and top edges of the application client
 * area; horizontal (Width) and vertical (Height) dimensions of
 * document window.  All of these functions call our private member
 * MoveSize, a helper function.
 */

STDMETHODIMP_(long) CAutoFigure::get_Left(void)
    {
    return MoveSize(MOVESIZEACTION_GETLEFT, 0, 0, 0, 0);
    }

STDMETHODIMP_(void) CAutoFigure::put_Left(long x)
    {
    MoveSize(MOVESIZEACTION_LEFT, x, 0, 0, 0);
    return;
    }

STDMETHODIMP_(long) CAutoFigure::get_Top(void)
    {
    return MoveSize(MOVESIZEACTION_GETTOP, 0, 0, 0, 0);
    }

STDMETHODIMP_(void) CAutoFigure::put_Top(long y)
    {
    MoveSize(MOVESIZEACTION_TOP, 0, y, 0, 0);
    return;
    }

STDMETHODIMP_(long) CAutoFigure::get_Width(void)
    {
    return MoveSize(MOVESIZEACTION_GETWIDTH, 0, 0, 0, 0);
    }

STDMETHODIMP_(void) CAutoFigure::put_Width(long cx)
    {
    MoveSize(MOVESIZEACTION_WIDTH, 0, 0, cx, 0);
    return;
    }

STDMETHODIMP_(long) CAutoFigure::get_Height(void)
    {
    return MoveSize(MOVESIZEACTION_GETHEIGHT, 0, 0, 0, 0);
    }

STDMETHODIMP_(void) CAutoFigure::put_Height(long cy)
    {
    MoveSize(MOVESIZEACTION_HEIGHT, 0, 0, 0, cy);
    return;
    }



/*
 * CAutoFigure::Visible
 * Properties, read-write
 *
 * Controls visibility of the figure window (which is hidden by

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一本色道久久综合亚洲aⅴ蜜桃| 亚洲精品高清在线| 国产麻豆精品95视频| 久久午夜国产精品| 不卡的av中国片| 中文字幕日韩精品一区| 99re成人精品视频| 亚洲大片在线观看| 精品国产一区二区精华| 国产白丝精品91爽爽久久| 亚洲美女偷拍久久| 欧美一区二区三区电影| 国产剧情一区在线| 亚洲精品视频在线观看免费| 欧美日韩免费不卡视频一区二区三区| 天天爽夜夜爽夜夜爽精品视频| 精品国产99国产精品| 粉嫩av一区二区三区粉嫩 | 精品粉嫩超白一线天av| 国产精品资源站在线| 国产精品的网站| 欧美色视频一区| 国产一区二区伦理片| 中文字幕一区二区三区在线播放| 91成人免费网站| 黄一区二区三区| 亚洲一区视频在线| 日韩女优电影在线观看| 91麻豆福利精品推荐| 秋霞成人午夜伦在线观看| 国产精品久久久久婷婷二区次 | 91成人国产精品| 国内外成人在线视频| 亚洲视频在线一区| 亚洲精品一区在线观看| 欧洲av一区二区嗯嗯嗯啊| 极品瑜伽女神91| 亚洲一区二区三区中文字幕| 久久久久国色av免费看影院| 欧美视频第二页| 国产99久久久国产精品潘金网站| 亚洲成人动漫精品| 成人欧美一区二区三区小说| 欧美videossexotv100| 欧美天堂一区二区三区| 成人精品一区二区三区四区 | 国产精品一区二区不卡| 丝袜美腿成人在线| 亚洲欧美日韩小说| 欧美国产日产图区| 精品国产一区二区三区四区四| 欧美性大战久久久久久久蜜臀 | 国产欧美一区二区精品性色 | 亚洲午夜一二三区视频| 国产精品不卡在线| 欧美精品一区二区蜜臀亚洲| 欧美午夜片在线观看| 99国产精品国产精品久久| 国产在线精品一区二区三区不卡 | 日韩精品中文字幕在线不卡尤物| 欧美视频在线播放| 91福利国产精品| 91亚洲精品久久久蜜桃网站| 国产成人三级在线观看| 国产在线播精品第三| 久久99久久99小草精品免视看| 亚洲大片免费看| 天天做天天摸天天爽国产一区 | 亚洲激情图片qvod| 亚洲欧洲精品一区二区三区不卡| 久久久久久亚洲综合影院红桃| 日韩免费一区二区| 精品久久久久久久人人人人传媒 | 色综合天天性综合| 99re视频这里只有精品| 91欧美激情一区二区三区成人| 粉嫩绯色av一区二区在线观看| 国产精品一线二线三线精华| 国产精品538一区二区在线| 激情成人综合网| 国产成人一级电影| gogo大胆日本视频一区| 91视频xxxx| 欧美午夜精品久久久| 欧美性猛片aaaaaaa做受| 欧美日韩国产高清一区二区| 91精品国产一区二区人妖| 884aa四虎影成人精品一区| 欧美一区二区视频在线观看2022 | 欧美综合天天夜夜久久| 欧美三级电影精品| 日韩亚洲欧美高清| 精品国产免费人成电影在线观看四季| 日韩欧美一级在线播放| 久久精品视频在线免费观看| 国产精品久久福利| 亚洲激情第一区| 日韩国产欧美三级| 国产一区二区网址| 91视频一区二区三区| 欧美精品aⅴ在线视频| 日韩欧美国产一二三区| 国产亚洲成aⅴ人片在线观看| 国产精品灌醉下药二区| 亚洲国产精品久久人人爱蜜臀| 日本伊人午夜精品| 国产91高潮流白浆在线麻豆| 色视频一区二区| 91精品国产欧美日韩| 国产亚洲精品中文字幕| 一区二区三区精密机械公司| 奇米色一区二区| 99视频精品在线| 欧美一区二区精品久久911| 久久精品视频一区二区| 亚洲黄色小视频| 激情文学综合插| 在线视频一区二区免费| 精品三级在线看| 一区二区三区日本| 国内外成人在线| 欧美日韩国产乱码电影| 欧美国产日产图区| 欧美aaa在线| 色噜噜狠狠成人中文综合| 精品美女被调教视频大全网站| 国产精品白丝在线| 久久se这里有精品| 在线免费视频一区二区| 久久这里只精品最新地址| 一个色综合网站| 成人黄色电影在线 | 成人毛片在线观看| 日韩一区国产二区欧美三区| 亚洲日本中文字幕区| 狠狠久久亚洲欧美| 91精品国产综合久久小美女| 亚洲天堂2014| 国产成人高清视频| 日韩欧美国产一二三区| 日欧美一区二区| 色8久久人人97超碰香蕉987| 久久久精品国产免费观看同学| 丝袜脚交一区二区| 欧美日韩一区在线观看| 亚洲色图第一区| 粉嫩一区二区三区在线看| 欧美精品一区二区三| 日本不卡一区二区三区| 欧美少妇xxx| 夜夜揉揉日日人人青青一国产精品| 国产99久久精品| 欧美激情一区二区三区不卡| 国产真实精品久久二三区| 精品日韩欧美在线| 图片区小说区区亚洲影院| 欧美中文字幕一区二区三区亚洲| 亚洲欧美一区二区视频| a级高清视频欧美日韩| 国产亚洲精久久久久久| 国产精品自在在线| 久久精品一区二区三区不卡牛牛 | av一区二区三区| 中文字幕va一区二区三区| 国产成人在线电影| 国产日产欧美一区二区三区| 国产成人午夜电影网| 日本一区二区综合亚洲| 波多野结衣在线aⅴ中文字幕不卡| 久久久www成人免费无遮挡大片| 国内精品免费**视频| 久久青草国产手机看片福利盒子| 狠狠狠色丁香婷婷综合激情| 久久久久久综合| www.色精品| 亚洲精品国产视频| 欧美日韩一卡二卡三卡| 日韩精品视频网| 精品日韩av一区二区| 国产精一品亚洲二区在线视频| 国产亚洲欧洲一区高清在线观看| 国产高清不卡一区二区| 欧美国产综合色视频| 色婷婷av一区| 美女免费视频一区| 久久夜色精品一区| 成人精品一区二区三区四区| 一区二区三区免费在线观看| 欧美日韩精品一区二区三区| 久久精品免费观看| 国产欧美精品一区| 色婷婷综合久久久久中文| 日韩影院免费视频| 久久久五月婷婷| 欧洲一区二区三区在线| 日本91福利区| 国产精品视频免费看| 日本韩国欧美一区二区三区| 日韩精品成人一区二区三区| 亚洲精品一区二区三区四区高清|