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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? cosmo.cpp

?? 英文版的 想要的話可以下載了 為大家服務(wù)
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
/*
 * COSMO.CPP
 * Cosmo Chapter 13
 *
 * WinMain and CCosmoFrame implementations.
 *
 * Copyright (c)1993-1995 Microsoft Corporation, All Rights Reserved
 *
 * Kraig Brockschmidt, Microsoft
 * Internet  :  kraigb@microsoft.com
 * Compuserve:  >INTERNET:kraigb@microsoft.com
 */


#define INITGUIDS
#include "cosmo.h"


/*
 * WinMain
 *
 * Purpose:
 *  Main entry point of application.  Should register the app class
 *  if a previous instance has not done so and do any other one-time
 *  initializations.
 */

int PASCAL WinMain (HINSTANCE hInst, HINSTANCE hPrev
    , LPSTR pszCmdLine, int nCmdShow)
    {
    PCCosmoFrame    pFR;
    FRAMEINIT       fi;
    WPARAM          wRet;

    //Attempt to allocate and initialize the application
    pFR=new CCosmoFrame(hInst, hPrev, pszCmdLine, nCmdShow);

    if (NULL==pFR)
        return -1;

    fi.idsMin=IDS_FRAMEMIN;
    fi.idsMax=IDS_FRAMEMAX;
    fi.idsStatMin=IDS_STATMESSAGEMIN;
    fi.idsStatMax=IDS_STATMESSAGEMAX;
    fi.idStatMenuMin=ID_MENUFILE;
    fi.idStatMenuMax=ID_MENUHELP;
    fi.iPosWindowMenu=WINDOW_MENU;
    fi.cMenus=CMENUS;

    fi.x=CW_USEDEFAULT;
    fi.y=CW_USEDEFAULT;
    fi.cx=440;
    fi.cy=460;

    //If we can initialize pFR, start chugging messages
    if (pFR->Init(&fi))
        wRet=pFR->MessageLoop();

    delete pFR;
    return wRet;
    }




/*
 * CCosmoFrame::CCosmoFrame
 * CCosmoFrame::~CCosmoFrame
 *
 * Constructor Parameters:
 *  hInst           HINSTANCE from WinMain
 *  hInstPrev       HINSTANCE from WinMain
 *  pszCmdLine      LPSTR from WinMain
 *  nCmdShow        int from WInMain
 */

CCosmoFrame::CCosmoFrame(HINSTANCE hInst, HINSTANCE hInstPrev
    , LPSTR pszCmdLine, int nCmdShow)
    : CFrame(hInst, hInstPrev, pszCmdLine, nCmdShow)
    {
    UINT        i;

    for (i=0; i<5; i++)
        m_hBmpLines[i]=NULL;

    m_uIDCurLine=0;
    m_fInitialized=FALSE;
    m_pIClassDataTran=NULL;
    return;
    }


CCosmoFrame::~CCosmoFrame(void)
    {
    UINT        i;

    for (i=0; i<5; i++)
        {
        if (NULL!=m_hBmpLines[i])
            DeleteObject(m_hBmpLines[i]);
        }

    if (NULL!=m_pIClassDataTran)
        {
        m_pIClassDataTran->LockServer(FALSE);
        m_pIClassDataTran->Release();
        }

    OleFlushClipboard();

    if (m_fInitialized)
        OleUninitialize();

    return;
    }




/*
 * CCosmoFrame::Init
 *
 * Purpose:
 *  Call CoInitialize then calling down into the base class
 *  initialization.
 *
 * Parameters:
 *  pFI             PFRAMEINIT containing initialization parameters.
 *
 * Return Value:
 *  BOOL            TRUE if initialization succeeded, FALSE otherwise.
 */

BOOL CCosmoFrame::Init(PFRAMEINIT pFI)
    {
    HRESULT     hr;

    CHECKVER_OLE;

    if (FAILED(OleInitialize(NULL)))
        return FALSE;

    m_fInitialized=TRUE;

    /*
     * Obtain the Data Transfer Object class factory and lock it.
     * This will improve the speed of clipboard and (later)
     * drag & drop operations that involve this class.
     */
    hr=CoGetClassObject(CLSID_DataTransferObject
        , CLSCTX_INPROC_SERVER, NULL, IID_IClassFactory
        , (PPVOID)&m_pIClassDataTran);

    if (SUCCEEDED(hr))
        m_pIClassDataTran->LockServer(TRUE);

    return CFrame::Init(pFI);
    }



/*
 * CCosmoFrame::CreateCClient
 *
 * Purpose:
 *  Constructs a new client specific to the application.
 *
 * Parameters:
 *  None
 *
 * Return Value:
 *  PCClient        Pointer to the new client object.
 */

PCClient CCosmoFrame::CreateCClient(void)
    {
    return (PCClient)(new CCosmoClient(m_hInst, this));
    }





/*
 * CCosmoFrame::RegisterAllClasses
 *
 * Purpose:
 *  Registers all classes used in this application.
 *
 * Parameters:
 *  None
 *
 * Return Value:
 *  BOOL            TRUE if registration succeeded, FALSE otherwise.
 */

BOOL CCosmoFrame::RegisterAllClasses(void)
    {
    WNDCLASS        wc;

    //First let the standard frame do its thing
    if (!CFrame::RegisterAllClasses())
        return FALSE;

    /*
     * We want a different background color for the document
     * because the Polyline we put in the document will paint
     * with COLOR_WINDOW which by default which is CLASSLIB's
     * default document color.
     */

    GetClassInfo(m_hInst, SZCLASSDOCUMENT, &wc);
    UnregisterClass(SZCLASSDOCUMENT, m_hInst);

    wc.hbrBackground=(HBRUSH)(COLOR_APPWORKSPACE+1);

    if (!RegisterClass(&wc))
        return FALSE;

    //Register the Polyline window.
    wc.style         = CS_HREDRAW | CS_VREDRAW;
    wc.hInstance     = m_hInst;
    wc.cbClsExtra    = 0;
    wc.lpfnWndProc   = PolylineWndProc;
    wc.cbWndExtra    = CBPOLYLINEWNDEXTRA;
    wc.hIcon         = NULL;
    wc.hCursor       = LoadCursor(NULL, IDC_CROSS);
    wc.hbrBackground = NULL;
    wc.lpszMenuName  = NULL;
    wc.lpszClassName = SZCLASSPOLYLINE;

    if (!RegisterClass(&wc))
        return FALSE;

    return TRUE;
    }






/*
 * CCosmoFrame::PreShowInit
 *
 * Purpose:
 *  Called from Init before intially showing the window.  We do
 *  whatever else we want here, modifying nCmdShow as necessary
 *  which affects ShowWindow in Init.
 *
 * Parameters:
 *  None
 *
 * Return Value:
 *  BOOL            TRUE if this initialization succeeded,
 *                  FALSE otherwise.
 */

BOOL CCosmoFrame::PreShowInit(void)
    {
    CreateLineMenu();
    CheckLineSelection(IDM_LINESOLID);
    return TRUE;
    }






/*
 * CCosmoFrame::CreateLineMenu
 *
 * Purpose:
 *  Initializes the bitmaps used to create the Line menu and
 *  replaces the text items defined in the application resources
 *  with these bitmaps.  Note that the contents of m_hBmpLines
 *  must be cleaned up when the application terminates.
 *
 * Parameters:
 *  None
 *
 * Return Value:
 *  None
 */

void CCosmoFrame::CreateLineMenu(void)
    {
    HMENU       hMenu;
    HDC         hDC, hMemDC;
    HPEN        hPen;
    HGDIOBJ     hObj;
    TEXTMETRIC  tm;
    UINT        i, cx, cy;


    hMenu=GetSubMenu(GetMenu(m_hWnd), 3);   //Line menu.
    hDC=GetDC(m_hWnd);

    //Create each line in a menu item 8 chars wide, one char high.
    GetTextMetrics(hDC, &tm);
    cx=tm.tmAveCharWidth*8;
    cy=tm.tmHeight;

    /*
     * Create a memory DC in which to draw lines, and bitmaps
     * for each line.
     */
    hMemDC=CreateCompatibleDC(hDC);
    ReleaseDC(m_hWnd, hDC);

    for (i=0; i<5; i++)
        {
        m_hBmpLines[i]=CreateCompatibleBitmap(hMemDC, cx, cy);
        SelectObject(hMemDC, m_hBmpLines[i]);

        PatBlt(hMemDC, 0, 0, cx, cy, WHITENESS);

        hPen=CreatePen(i, 1, 0L);       //i=line style like PS_SOLID
        hObj=SelectObject(hMemDC, hPen);

        MoveToEx(hMemDC, 0, cy/2, NULL);
        LineTo(hMemDC, cx, cy/2);

        ModifyMenu(hMenu, IDM_LINEMIN+i, MF_BYCOMMAND | MF_BITMAP
            , IDM_LINEMIN+i, (LPTSTR)(LONG)(UINT)m_hBmpLines[i]);

        SelectObject(hMemDC, hObj);
        DeleteObject(hPen);
        }

    CheckMenuItem(hMenu, IDM_LINESOLID, MF_CHECKED);
    DeleteDC(hMemDC);

    return;
    }




/*
 * CCosmoFrame::CreateToolbar
 *
 * Purpose:
 *  Procedure to create all the necessary toolbar buttons.
 *
 * Parameters:
 *  None
 *
 * Return Value:
 *  UINT            Number of tools added to the bar.
 */

UINT CCosmoFrame::CreateToolbar(void)
    {
    UINT            iLast;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品毛片乱码1区2区3区| 日韩一区二区三区三四区视频在线观看| 欧美久久久久久久久中文字幕| 久久麻豆一区二区| 天天综合日日夜夜精品| 不卡一区在线观看| 日韩欧美一区在线观看| 一区二区三区不卡在线观看| 国产suv精品一区二区6| 日韩精品一区在线观看| 亚洲成人一区在线| 色系网站成人免费| 中日韩av电影| 国产精品一区二区三区四区 | 午夜久久久久久久久久一区二区| 成人免费av资源| 2021国产精品久久精品| 日日摸夜夜添夜夜添国产精品| 91久久精品国产91性色tv| 久久免费看少妇高潮| 麻豆精品视频在线观看免费| 欧美日韩一区二区三区视频| 亚洲美女免费视频| 9色porny自拍视频一区二区| 国产拍揄自揄精品视频麻豆| 久久91精品久久久久久秒播| 欧美一区日韩一区| 午夜精品久久久久影视| 欧美自拍偷拍午夜视频| 亚洲少妇屁股交4| a级高清视频欧美日韩| 日本一区二区三区国色天香 | 日韩av电影天堂| 欧美久久久久中文字幕| 婷婷久久综合九色综合伊人色| 欧美在线制服丝袜| 一区二区三区在线免费播放| 色综合久久中文综合久久97| 亚洲美女屁股眼交3| 色婷婷一区二区三区四区| 自拍偷拍国产精品| 色菇凉天天综合网| 伊人夜夜躁av伊人久久| 在线免费观看不卡av| 亚洲精品乱码久久久久久日本蜜臀| 99在线视频精品| 亚洲欧美激情视频在线观看一区二区三区 | 日韩欧美一级二级三级| 久久精品噜噜噜成人88aⅴ| 日韩精品一区二| 国产伦精一区二区三区| 国产精品视频一二| 99久久99久久精品国产片果冻| 最新热久久免费视频| 91污在线观看| 亚洲综合精品久久| 欧美狂野另类xxxxoooo| 麻豆91免费观看| 久久夜色精品国产噜噜av| 丁香激情综合五月| 亚洲精品成人a在线观看| 欧美日韩电影在线播放| 蜜臀av一级做a爰片久久| 久久久高清一区二区三区| 成人av动漫在线| 亚洲综合免费观看高清完整版在线 | 99精品视频在线播放观看| 亚洲精品中文在线影院| 欧美日韩高清一区二区三区| 蜜桃一区二区三区在线| 国产拍揄自揄精品视频麻豆| 97国产一区二区| 亚洲超碰97人人做人人爱| 日韩美一区二区三区| 成人午夜视频在线| 亚洲午夜久久久久久久久久久 | 色诱亚洲精品久久久久久| 丝袜脚交一区二区| 久久精品免视看| 91美女福利视频| 美国av一区二区| 中文字幕日韩欧美一区二区三区| 欧美性猛交xxxx乱大交退制版 | 亚洲一区二区三区在线| 日韩欧美亚洲国产另类| 99九九99九九九视频精品| 日韩高清在线观看| 国产精品国产三级国产三级人妇 | 国产精品一区三区| 亚洲黄色录像片| 精品人伦一区二区色婷婷| 色综合久久中文综合久久97| 美国一区二区三区在线播放| 亚洲欧美日本在线| 久久综合九色综合欧美亚洲| 色综合天天综合网天天狠天天| 免费观看日韩av| 亚洲日本成人在线观看| 日韩欧美在线不卡| 91一区二区在线| 国产伦精品一区二区三区免费| 亚洲一区在线观看免费| 久久久不卡网国产精品一区| 欧美日韩一级视频| 成人激情免费视频| 欧美aaaaa成人免费观看视频| 亚洲视频在线观看一区| 亚洲精品在线免费观看视频| 欧美中文字幕一区| 成人激情开心网| 久久福利视频一区二区| 亚洲成年人影院| 一区二区中文字幕在线| 欧美电影免费观看完整版| 欧美日韩综合在线免费观看| www.日韩大片| 国产伦精一区二区三区| 三级久久三级久久| 亚洲欧美福利一区二区| 久久久国产综合精品女国产盗摄| 9191久久久久久久久久久| 色婷婷综合视频在线观看| 高清不卡一二三区| 久久99精品久久久| 香蕉成人伊视频在线观看| 自拍偷拍国产精品| 中文字幕 久热精品 视频在线| 日韩精品资源二区在线| 欧美日韩免费观看一区二区三区 | 欧美高清视频一二三区 | 精品亚洲国内自在自线福利| 亚洲国产日日夜夜| 亚洲欧美另类图片小说| 国产精品久久久久久久久免费相片| 欧美精品一区二区三区视频| 欧美精三区欧美精三区| 在线免费观看日本欧美| 一本久久精品一区二区| 成人国产电影网| 高清不卡一二三区| 国产大陆亚洲精品国产| 激情另类小说区图片区视频区| 日本美女一区二区三区视频| 五月开心婷婷久久| 天天综合网 天天综合色| 亚洲成人手机在线| 亚洲h动漫在线| 亚洲国产日韩一级| 偷拍一区二区三区| 亚洲不卡在线观看| 视频一区在线播放| 五月天激情综合| 日本伊人色综合网| 日本人妖一区二区| 美脚の诱脚舐め脚责91| 久久精品国产一区二区| 久久国产精品免费| 久久99久久99精品免视看婷婷| 另类欧美日韩国产在线| 久久国产麻豆精品| 国内久久精品视频| 国产成人综合亚洲网站| 成人激情校园春色| 91老师片黄在线观看| 色偷偷久久一区二区三区| 欧美亚洲日本国产| 欧美日韩不卡在线| 日韩精品一区二区三区中文精品| 欧美精品一区二区久久婷婷| 26uuu国产日韩综合| 久久久久久久久蜜桃| 国产精品每日更新| 综合激情成人伊人| 亚洲成a人片综合在线| 日韩成人精品在线观看| 精品在线观看视频| 成人av网站在线| 色婷婷精品大视频在线蜜桃视频| 欧美午夜在线观看| 欧美电影免费观看高清完整版在线观看 | 精品在线观看视频| 成人综合婷婷国产精品久久| 97精品超碰一区二区三区| 欧美三级视频在线| 欧美成人一区二区三区在线观看| 久久一日本道色综合| 亚洲欧美中日韩| 午夜欧美大尺度福利影院在线看| 狠狠狠色丁香婷婷综合久久五月| 成人免费va视频| 欧美乱熟臀69xxxxxx| 亚洲精品一区二区三区在线观看| 国产精品美女久久久久aⅴ国产馆| 亚洲免费在线电影| 另类欧美日韩国产在线| 不卡大黄网站免费看| 欧美三级韩国三级日本一级| 精品剧情v国产在线观看在线| 亚洲国产精品精华液2区45| 亚洲一二三区不卡|