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

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

?? polyline.c

?? 英文版的 想要的話可以下載了 為大家服務
?? C
?? 第 1 頁 / 共 2 頁
字號:
               #endif
                }

            //Insure repaint
            InvalidateRect(hWnd, NULL, TRUE);
            UpdateWindow(hWnd);
            break;


        case PLM_POLYLINESET:
            /*
             * Copy the structure in lParam to ppl and repaint to
             * reflect the new point set.  Note that unlike the
             * PLM_RECTSET message, we do no scaling, assuming that
             * the rectangle in the POLYLINE structure is appropriate
             * for the data.
             */
            pplT=(LPPOLYLINE)lParam;
            *ppl=*pplT;

            //Resize this window to fit the data and notify the parent.
            SetWindowPos(hWnd, NULL, ppl->rc.left, ppl->rc.top
                , ppl->rc.right-ppl->rc.left, ppl->rc.bottom-ppl->rc.top
                , SWP_NOMOVE | SWP_NOZORDER);

            if (0!=wParam)
                {
               #ifdef WIN32
                SendMessage(hWndParent, WM_COMMAND
                    , MAKELONG(ID_POLYLINE, PLN_SIZECHANGE), (LPARAM)hWnd);
               #else
                SendMessage(hWndParent, WM_COMMAND
                    , ID_POLYLINE, MAKELONG(hWnd, PLN_SIZECHANGE));
               #endif
                }

            //Insure a repaint.
            InvalidateRect(hWnd, NULL, TRUE);
            UpdateWindow(hWnd);
            break;


        case PLM_POLYLINEGET:
            //Copy the structure in ppl to lParam.  No repaint needed.
            pplT=(LPPOLYLINE)lParam;
            *pplT=*ppl;
            break;


        case PLM_POLYLINENEW:
            //Clean out the POLYLINE structure and repaint the window.
            for (i=0; i< CPOLYLINEPOINTS; i++)
                {
                ppl->rgpt[i].x=0;
                ppl->rgpt[i].y=0;
                }

            ppl->cPoints=0;

            InvalidateRect(hWnd, NULL, TRUE);
            UpdateWindow(hWnd);
            break;


        case PLM_BACKUPUNDO:
            //Decrement the number of active points and repaint.
            if (ppl->cPoints > 0)
                {
                ppl->cPoints--;
                InvalidateRect(hWnd, NULL, TRUE);
                UpdateWindow(hWnd);
                }

            //Notify parent window of the change.
           #ifdef WIN32
            SendMessage(hWndParent, WM_COMMAND
                , MAKELONG(ID_POLYLINE, PLN_POINTCHANGE), (LPARAM)hWnd);
           #else
            SendMessage(hWndParent, WM_COMMAND
                , ID_POLYLINE, MAKELONG(hWnd, PLN_POINTCHANGE));
           #endif
            break;


        case PLM_BITMAPGET:
            /*
             * Create and return a bitmap of the window contents.
             * The bitmap is the size of the POLYLINE edit window.
             */

            hDC=GetDC(hWnd);
            hMemDC=CreateCompatibleDC(hDC);

            GetClientRect(hWnd, &rc);
            hBmp=CreateCompatibleBitmap(hDC, rc.right, rc.bottom);

            if (NULL!=hBmp)
                {
                //Draw the POLYLINE into the bitmap.
                hBmpT=SelectObject(hMemDC, hBmp);

                ppl->fDrawEntire=TRUE;
                PolylineDraw(hWnd, hMemDC, ppl);
                ppl->fDrawEntire=FALSE;

                SelectObject(hMemDC, hBmpT);
                }

            DeleteDC(hMemDC);
            ReleaseDC(hWnd, hDC);

            //Return the created bitmap handle.
            dwRet=(DWORD)(UINT)hBmp;
            break;


        case PLM_METAFILEGET:
            //Create a memory metafile and return its handle.
            hDC=(HDC)CreateMetaFile(NULL);
            hMF=NULL;

            if (NULL!=hDC)
                {
                /*
                 * This is absolutely essential to the metafile so it
                 * can be scaled in the clipboard and any destination
                 * application.
                 */
                fMetaDC=TRUE;
                SetMapMode(hDC, MM_ANISOTROPIC);
                GetClientRect(hWnd, &rc);
                SetWindowOrgEx(hDC, 0, 0, NULL);
                SetWindowExtEx(hDC, rc.right, rc.bottom, NULL);

                ppl->fDrawEntire=TRUE;
                PolylineDraw(hWnd, hDC, ppl);
                ppl->fDrawEntire=FALSE;

                hMF=CloseMetaFile(hDC);
                fMetaDC=FALSE;
                }

            dwRet=(DWORD)(UINT)hMF;
            break;


        case PLM_METAFILEPICTGET:
            /*
             * Create a METAFILEPICT structure for the clipboard.
             * First attempt to get a metafile.
             */
            lParam=SendMessage(hWnd, PLM_METAFILEGET, 0, 0L);
            hMF=(HMETAFILE)(UINT)lParam;

            if (NULL==hMF)
                break;

            //Allocate the METAFILEPICT structure.
            hMem=GlobalAlloc(GMEM_DDESHARE | GMEM_MOVEABLE
                , sizeof(METAFILEPICT));

            if (NULL==hMem)
                {
                DeleteMetaFile(hMF);
                break;
                }

            /*
             * Global lock only fails in PMODE if the selector is invalid
             * (like it was discarded) or references a 0 length segment,
             * neither of which can happen here.
             */
            pMF=(LPMETAFILEPICT)GlobalLock(hMem);

            pMF->hMF=hMF;
            pMF->mm=MM_ANISOTROPIC;             //Required by OLE libraries.

            //Insert the extents in MM_HIMETRIC units.
            GetClientRect(hWnd, &rc);

            RectConvertToHiMetric(hWnd, &rc);     //Found in CLIP.C
            pMF->xExt=rc.right;
            pMF->yExt=rc.bottom;

            GlobalUnlock(hMem);

            dwRet=(DWORD)(UINT)hMem;
            break;


        default:
            break;
        }

    return dwRet;
    }






/*
 * PolylineDraw
 *
 * Purpose:
 *  Paints the current line in the polyline window.
 *
 * Parameters:
 *  hWnd            HWND of the polyline window.
 *  hDC             HDC to draw on, could be a metafile or printer DC.
 *  ppl            LPPOLYLINE to the polyline structure.
 *
 * Return Value:
 *  none
 */

void PASCAL PolylineDraw(HWND hWnd, HDC hDC, LPPOLYLINE ppl)
    {

    HBRUSH          hBrush, hBrushT;
    HPEN            hPen, hPenT;
    UINT            i, j;
    UINT            nMM;
    POINTS          pt;
    POINT           rgpt[CPOLYLINEPOINTS];
    RECT            rc;
    COLORREF        cr;


    GetClientRect(hWnd, &rc);

    //Get the line color.
    cr=GetSysColor(COLOR_WINDOWTEXT);

    //Make a 32-bit working copy of the point array for DPtoLP.
    for (i=0; i < ppl->cPoints; i++)
        {
        rgpt[i].x=ppl->rgpt[i].x;
        rgpt[i].y=ppl->rgpt[i].y;
        }

    /*
     * If the mapping mode is not MM_TEXT, convert the points to
     * whatever mapping mode in in effect before drawing.
     * This specifically supports metafiles in MM_ANISOTROPIC.
     */
    nMM=fMetaDC ? MM_TEXT : GetMapMode(hDC);

    if (MM_TEXT!=nMM)
        DPtoLP(hDC, rgpt, ppl->cPoints);

    hPen=CreatePen(PS_SOLID, 1, cr);
    hPenT=SelectObject(hDC, hPen);

    hBrush=CreateSolidBrush(GetSysColor(COLOR_WINDOW));
    hBrushT=SelectObject(hDC, hBrush);

    /*
     * Either draw the entire figure or just a single point.  The
     * entire figure also includes erasing the background completely,
     * since hDC may be a metafile DC.  Drawing a single point just
     * updates the figure for that new point.
     */
    if (ppl->fDrawEntire)
        {
        //Erase the background for bitmaps and metafiles.
        SelectObject(hDC, GetStockObject(NULL_PEN));
        Rectangle(hDC, rc.left, rc.top, rc.right+1, rc.bottom+1);
        SelectObject(hDC, hPen);


        /*
         * If we are drawing the entire figure, then loop through each
         * point drawing a line to each successive point.
         */

        for (i=0; i < ppl->cPoints; i++)
            {
            for (j=i; j < ppl->cPoints; j++)
                {
                MoveToEx(hDC, rgpt[i].x, rgpt[i].y, NULL);
                LineTo(hDC, rgpt[j].x, rgpt[j].y);
                }
            }
        }
    else
        {
        /*
         * If we are only drawing the last point, just cycle once
         * through previous points.
         */

        //Get the last point entered in the array.
        j=ppl->cPoints-1;
        pt.x=(short)rgpt[j].x;
        pt.y=(short)rgpt[j].y;

        for (i=0; i < j; i++)
            {
            MoveToEx(hDC, pt.x, pt.y, NULL);
            LineTo(hDC, rgpt[i].x, rgpt[i].y);
            }
        }

    //If we only had one point, draw a dot to indicate it's position.
    if (1==ppl->cPoints)
        SetPixel(hDC, rgpt[0].x, rgpt[0].y, cr);


    SelectObject(hDC, hPenT);
    SelectObject(hDC, hBrushT);
    DeleteObject(hBrush);
    DeleteObject(hPen);
    return;
    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
26uuu国产在线精品一区二区| 91成人免费在线| 久久久久97国产精华液好用吗| 狠狠色丁香婷婷综合| 久久影院视频免费| 99久久伊人精品| 亚洲精品国产a久久久久久| 欧美日韩国产电影| 精品一区二区三区久久久| 久久综合av免费| 色综合中文字幕国产 | 婷婷国产v国产偷v亚洲高清| 在线成人午夜影院| 狠狠色狠狠色综合系列| 国产精品免费网站在线观看| 欧美性大战久久久久久久| 日本不卡在线视频| 久久精品欧美一区二区三区麻豆| 一本高清dvd不卡在线观看| 天涯成人国产亚洲精品一区av| 日韩欧美国产电影| 91一区二区三区在线观看| 日韩电影网1区2区| 亚洲国产成人私人影院tom| 日本黄色一区二区| 精品一区二区在线免费观看| 亚洲视频一二三区| 欧美成人国产一区二区| 91丨porny丨国产| 久久精品国产在热久久| 亚洲视频免费在线观看| 日韩精品中午字幕| 欧美视频日韩视频在线观看| 日本成人超碰在线观看| 亚洲天堂网中文字| 精品久久人人做人人爱| 欧洲一区二区av| 国产精品1区2区| 丝袜美腿一区二区三区| 国产精品久久久一本精品| 欧美一区二区三区免费| 在线观看一区二区精品视频| 国产精品伊人色| 免费观看在线综合| 亚洲一区二区三区四区五区中文| 欧美极品另类videosde| 日韩欧美成人一区| 欧美日韩一级黄| 色综合婷婷久久| 成人动漫一区二区| 国产美女久久久久| 日本中文字幕不卡| 午夜伦理一区二区| 一片黄亚洲嫩模| 中文字幕日韩精品一区| 久久久精品2019中文字幕之3| 欧美男女性生活在线直播观看| 91在线精品秘密一区二区| 韩国av一区二区三区四区| 日韩电影一二三区| 丝袜美腿亚洲综合| 午夜视频在线观看一区| 亚洲午夜精品一区二区三区他趣| 国产精品短视频| 国产精品久久久久aaaa樱花 | 91福利视频网站| 成人h动漫精品| 成人午夜短视频| 国产成人综合亚洲91猫咪| 久久精品久久精品| 九色综合国产一区二区三区| 肉丝袜脚交视频一区二区| 亚洲成人av电影在线| 亚洲国产成人精品视频| 亚洲狠狠爱一区二区三区| 亚洲图片一区二区| 日本亚洲欧美天堂免费| 偷拍与自拍一区| 日韩综合小视频| 天天综合色天天综合| 日韩av不卡在线观看| 喷水一区二区三区| 精品制服美女丁香| 国产麻豆日韩欧美久久| 国产精品小仙女| a在线播放不卡| 欧美亚洲一区二区在线观看| 欧美日韩国产成人在线免费| 欧美一区二区福利在线| 久久无码av三级| 国产精品视频一区二区三区不卡| 国产欧美日韩另类一区| 中文字幕亚洲精品在线观看| 亚洲影院在线观看| 轻轻草成人在线| 国产成人精品亚洲日本在线桃色| 成人午夜视频在线观看| 一本色道a无线码一区v| 欧美久久久久久蜜桃| 亚洲欧洲av一区二区三区久久| 国产精品久久久久久久久果冻传媒| 亚洲理论在线观看| 午夜久久久久久久久久一区二区| 久久草av在线| 91丝袜呻吟高潮美腿白嫩在线观看| 日本高清不卡在线观看| 日韩女优av电影在线观看| 中文字幕第一区综合| 亚洲韩国精品一区| 国产成人av电影免费在线观看| 91亚洲国产成人精品一区二区三 | 亚洲不卡一区二区三区| 极品瑜伽女神91| 成人精品免费网站| 欧美日本免费一区二区三区| 日韩欧美你懂的| 亚洲欧洲日产国产综合网| 天天av天天翘天天综合网| 国产aⅴ精品一区二区三区色成熟| 91色.com| 国产亚洲一区字幕| 日本午夜精品一区二区三区电影| 粉嫩av一区二区三区| 91麻豆精品国产91久久久| 国产精品久久看| 激情深爱一区二区| 欧美日韩三级在线| 中文字幕一区在线观看视频| 免费高清在线视频一区·| 91丝袜国产在线播放| 2021国产精品久久精品| 亚洲动漫第一页| 99久久精品费精品国产一区二区| 日韩久久免费av| 亚洲国产一二三| av激情亚洲男人天堂| 久久在线观看免费| 免费成人深夜小野草| 欧美亚一区二区| 亚洲欧美影音先锋| 国产成人精品免费一区二区| 日韩手机在线导航| 三级亚洲高清视频| 欧美伊人久久大香线蕉综合69| 中文字幕在线观看一区| 国产成人午夜精品5599| 欧美成人三级电影在线| 亚洲123区在线观看| 色av成人天堂桃色av| 中文字幕字幕中文在线中不卡视频| 国产精品一色哟哟哟| 日韩欧美的一区二区| 日韩国产欧美视频| 欧美影院午夜播放| 亚洲一区二区四区蜜桃| 日本久久一区二区三区| 亚洲精品国产第一综合99久久 | 麻豆精品视频在线观看视频| 欧美日本一区二区| 亚洲一区二区三区中文字幕 | 欧美剧情电影在线观看完整版免费励志电影 | 成人av中文字幕| 国产精品第五页| av在线免费不卡| 中文字幕日韩一区| 91在线一区二区三区| 亚洲欧美在线观看| 日本精品免费观看高清观看| 亚洲精品成人精品456| 在线免费观看日本欧美| 亚洲小说欧美激情另类| 777奇米四色成人影色区| 日韩精彩视频在线观看| 欧美高清视频在线高清观看mv色露露十八 | www.av精品| 亚洲精品综合在线| 色88888久久久久久影院按摩| 一区二区成人在线| 欧美老人xxxx18| 毛片av一区二区| 久久久久久久综合日本| 成人激情免费视频| 一区二区三区在线免费观看| 91麻豆福利精品推荐| 亚洲高清在线视频| 日韩久久久精品| 风间由美性色一区二区三区| 亚洲欧美一区二区三区久本道91| 色8久久精品久久久久久蜜| 亚洲成人av中文| 精品久久久久av影院| hitomi一区二区三区精品| 一区二区三区四区不卡视频| 欧美日韩一区二区在线观看 | 国产精品1024久久| 亚洲欧美日韩国产中文在线| 欧美日韩成人在线一区| 国产成人综合精品三级| 一级做a爱片久久| 欧美本精品男人aⅴ天堂|