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

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

?? pagewin.cpp

?? 英文版的 想要的話可以下載了 為大家服務
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
/*
 * PAGEWIN.CPP
 * Patron Chapter 21
 *
 * Window procedure for the Pages window and support functions.
 * This window manages its own scrollbars and viewport and provides
 * printing capabilities as well.
 *
 * Copyright (c)1993-1995 Microsoft Corporation, All Rights Reserved
 *
 * Kraig Brockschmidt, Microsoft
 * Internet  :  kraigb@microsoft.com
 * Compuserve:  >INTERNET:kraigb@microsoft.com
 */


#include "patron.h"


/*
 * PagesWndProc
 *
 * Purpose:
 *  Window procedure for the Pages window.
 */

LRESULT APIENTRY PagesWndProc(HWND hWnd, UINT iMsg, WPARAM wParam
    , LPARAM lParam)
    {
    PCPages         ppg;
    PAINTSTRUCT     ps;
    HDC             hDC;
    int             iPos, iTmp;
    int             iMin, iMax;
    UINT            idScroll;
    BOOL            fDirty=FALSE;

    ppg=(PCPages)GetWindowLong(hWnd, PAGEWL_STRUCTURE);

    switch (iMsg)
        {
        case WM_CREATE:
            ppg=(PCPages)((LPCREATESTRUCT)lParam)->lpCreateParams;
            SetWindowLong(hWnd, PAGEWL_STRUCTURE, (LONG)ppg);

            ppg->m_hWnd=hWnd;
            break;


        case WM_PAINT:
            /*
             * If there is currently a drag-rectangle showing, then
             * remove it before painting.  This insures that
             * painting doesn't blast part of that rectangle away so
             * that when we draw it next, garbage is left around.
             */
            if (ppg->m_fDragRectShown)
                ppg->DrawDropTargetRect(NULL, NULL);

            hDC=BeginPaint(hWnd, &ps);

            //Draw only if we have a page to show.
            if (0!=ppg->m_cPages)
                ppg->Draw(hDC, FALSE, FALSE);

            EndPaint(hWnd, &ps);

            //Turn the rectangle back on, if necessary.
            if (ppg->m_fDragRectShown)
                ppg->DrawDropTargetRect(NULL, NULL);
            break;


        case WM_HSCROLL:
        case WM_VSCROLL:
            idScroll=(WM_HSCROLL==iMsg) ? SB_HORZ : SB_VERT;

            iPos=GetScrollPos(hWnd, idScroll);
            iTmp=iPos;
            GetScrollRange(hWnd, idScroll, &iMin, &iMax);

            switch (LOWORD(wParam))
                {
                case SB_LINEUP:     iPos -= 20;  break;
                case SB_PAGEUP:     iPos -=100;  break;
                case SB_LINEDOWN:   iPos += 20;  break;
                case SB_PAGEDOWN:   iPos +=100;  break;

                case SB_THUMBPOSITION:
                    iPos=ScrollThumbPosition(wParam, lParam);
                    break;

                //We don't want scrolling on this message.
                case SB_THUMBTRACK:
                    return 0L;
                }

            iPos=max(iMin, min(iPos, iMax));

            if (iPos!=iTmp)
                {
                //Set the new position and scroll the window
                SetScrollPos(hWnd, idScroll, iPos, TRUE);

                if (SB_HORZ==idScroll)
                    {
                    ppg->m_xPos=iPos;
                    ScrollWindow(hWnd, iTmp-iPos, 0, NULL, NULL);
                    }
                else
                    {
                    ppg->m_yPos=iPos;
                    ScrollWindow(hWnd, 0, iTmp-iPos, NULL, NULL);
                    }
                }

            break;

        case WM_RBUTTONDOWN:
            if (NULL==ppg->m_pPageCur)
                break;

            fDirty=ppg->m_pPageCur->OnRightDown(wParam
                , LOWORD(lParam), HIWORD(lParam));
            break;

        case WM_LBUTTONDOWN:
            if (NULL==ppg->m_pPageCur)
                break;

            fDirty=ppg->m_pPageCur->OnLeftDown(wParam
                , LOWORD(lParam), HIWORD(lParam));
            break;

        case WM_LBUTTONUP:
            if (NULL==ppg->m_pPageCur)
                break;

            fDirty=ppg->m_pPageCur->OnLeftUp(wParam
                , LOWORD(lParam), HIWORD(lParam));
            break;

        case WM_LBUTTONDBLCLK:
            if (NULL==ppg->m_pPageCur)
                break;

            fDirty=ppg->m_pPageCur->OnLeftDoubleClick(wParam, LOWORD(lParam)
                , HIWORD(lParam));
            break;

        case WM_MOUSEMOVE:
            if (NULL==ppg->m_pPageCur)
                break;

            ppg->m_pPageCur->OnMouseMove(wParam, LOWORD(lParam)
                , HIWORD(lParam));
            break;

        case WM_TIMER:
            if (NULL==ppg->m_pPageCur)
                break;

            ppg->m_pPageCur->OnTimer(wParam);
            break;

        case WM_NCHITTEST:
            if (NULL!=ppg->m_pPageCur)
                {
                /*
                 * This just saves information in the page for
                 * OnSetCursor
                 */
                ppg->m_pPageCur->OnNCHitTest(LOWORD(lParam)
                    , HIWORD(lParam));
                }

            return DefWindowProc(hWnd, iMsg, wParam, lParam);

        case WM_SETCURSOR:
            if (NULL!=ppg->m_pPageCur)
                {
                if (ppg->m_pPageCur->OnSetCursor(LOWORD(lParam)))
                    break;
                }

            return DefWindowProc(hWnd, iMsg, wParam, lParam);


        default:
            return DefWindowProc(hWnd, iMsg, wParam, lParam);
        }

    ppg->m_fDirty |= fDirty;
    return 0L;
    }



/*
 * RectConvertMappings
 *
 * Purpose:
 *  Converts the contents of a rectangle from device to logical
 *  coordinates where the hDC defines the logical coordinates.
 *
 * Parameters:
 *  pRect           LPRECT containing the rectangle to convert.
 *  hDC             HDC describing the logical coordinate system.
 *                  if NULL, uses a screen DC in MM_LOMETRIC.
 *  fToDevice       BOOL TRUE to convert from uConv to device,
 *                  FALSE to convert device to uConv.
 *
 * Return Value:
 *  None
 */

void RectConvertMappings(LPRECT pRect, HDC hDC, BOOL fToDevice)
    {
    POINT   rgpt[2];
    BOOL    fSysDC=FALSE;

    if (NULL==pRect)
        return;

    rgpt[0].x=pRect->left;
    rgpt[0].y=pRect->top;
    rgpt[1].x=pRect->right;
    rgpt[1].y=pRect->bottom;

    if (NULL==hDC)
        {
        hDC=GetDC(NULL);
        SetMapMode(hDC, MM_LOMETRIC);
        fSysDC=TRUE;
        }

    if (fToDevice)
        LPtoDP(hDC, rgpt, 2);
    else
        DPtoLP(hDC, rgpt, 2);

    if (fSysDC)
        ReleaseDC(NULL, hDC);

    pRect->left=rgpt[0].x;
    pRect->top=rgpt[0].y;
    pRect->right=rgpt[1].x;
    pRect->bottom=rgpt[1].y;

    return;
    }






/*
 * CPages::Draw
 *
 * Purpose:
 *  Paints the current page in the pages window.
 *
 * Parameters:
 *  hDC             HDC to draw on, could be a metafile or printer
 *                  DC or any other type of DC.
 *  fNoColor        BOOL indicating if we should use screen colors
 *                  or printer colors (B&W).  Objects are printed
 *                  as-is, however.  This is TRUE for printer DCs
 *                  or print preview.
 *  fPrinter        BOOL indicating if this is a printer DC in which
 *                  case we eliminate some of the fancy drawing,
 *                  like shadows on the page and so forth.
 *
 * Return Value:
 *  None
 */

void CPages::Draw(HDC hDC, BOOL fNoColor, BOOL fPrinter)
    {
    RECT            rc, rcT;
    UINT            uMM;
    HPEN            hPen;
    HBRUSH          hBrush;
    HGDIOBJ         hObj1, hObj2;
    COLORREF        cr;
    TCHAR           szTemp[20];
    UINT            cch;
    SIZE            sz;
    PCPage          pPage;
    RECT            rcPos;

    //Make sure the DC is in LOMETRIC

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产自产高清不卡| 亚洲一区二区在线播放相泽| 欧美精品亚洲一区二区在线播放| 色综合久久中文字幕综合网| 国产麻豆精品视频| 国产米奇在线777精品观看| 美女网站在线免费欧美精品| 玖玖九九国产精品| 国产中文字幕一区| 国产成人高清在线| 不卡av免费在线观看| av在线一区二区| 欧美亚洲高清一区二区三区不卡| 在线观看日韩av先锋影音电影院| 欧美网站大全在线观看| 欧美一区二区三区成人| 亚洲精品一区二区三区四区高清| 久久人人97超碰com| 国产精品麻豆视频| 一区二区三区中文字幕| 日本在线不卡视频| 激情亚洲综合在线| 97久久精品人人做人人爽| 91福利在线播放| 日韩一区二区电影网| 国产欧美日韩麻豆91| 亚洲视频 欧洲视频| 性做久久久久久久免费看| 激情亚洲综合在线| 色综合久久久久网| 精品欧美一区二区久久| 亚洲欧美怡红院| 欧美aaa在线| 91麻豆精品视频| 91精品国产一区二区| 国产精品嫩草久久久久| 婷婷亚洲久悠悠色悠在线播放| 免费在线看成人av| 国产精品一区二区黑丝| 欧美视频日韩视频| 欧美国产综合一区二区| 天天做天天摸天天爽国产一区| 国产一区二区三区不卡在线观看 | 欧美午夜一区二区| 日韩三级视频中文字幕| 亚洲精品国产品国语在线app| 精品午夜久久福利影院| 99这里都是精品| 91精品国产品国语在线不卡| 国产精品色眯眯| 蜜臀久久99精品久久久久久9 | 国产精品卡一卡二| 乱中年女人伦av一区二区| 99国产精品久| 国产午夜精品一区二区| 日本亚洲免费观看| 欧美色网一区二区| 中文字幕一区二区视频| 国内精品写真在线观看| 91精品午夜视频| 亚洲精品日产精品乱码不卡| 国产精品 欧美精品| 日韩一区二区三区在线视频| 亚洲综合丁香婷婷六月香| 国产999精品久久久久久绿帽| 欧美大尺度电影在线| 天堂成人国产精品一区| 欧美三级中文字幕| 一区二区三区精品视频在线| jlzzjlzz欧美大全| 国产精品久久久久久久久免费相片| 久久精品国产秦先生| 欧美三级韩国三级日本三斤| 亚洲成人先锋电影| 欧美日韩高清影院| 亚洲成人www| 欧美日韩精品一区二区在线播放| 亚洲另类在线视频| 欧美午夜理伦三级在线观看| 一区二区高清视频在线观看| 欧美性做爰猛烈叫床潮| 亚洲va欧美va国产va天堂影院| 在线欧美一区二区| 五月婷婷欧美视频| 日韩视频永久免费| 国产精品综合视频| 国产精品色一区二区三区| av网站一区二区三区| 尤物在线观看一区| 欧美日韩一区久久| 五月天中文字幕一区二区| 欧美日本国产视频| 看片的网站亚洲| 国产三级精品视频| jlzzjlzz欧美大全| 午夜久久久久久久久| 精品福利一区二区三区| 国产精品一区二区三区乱码| 国产精品夫妻自拍| 91精品蜜臀在线一区尤物| 国产精品资源在线看| √…a在线天堂一区| 欧美视频中文一区二区三区在线观看| 免费精品视频最新在线| 国产日产欧美精品一区二区三区| 91丝袜呻吟高潮美腿白嫩在线观看| 亚洲一区二区高清| 久久精品人人做人人爽人人 | 亚洲综合小说图片| 精品剧情在线观看| 91麻豆精品视频| 久草这里只有精品视频| 亚洲美女一区二区三区| 欧美成人在线直播| 91网站视频在线观看| 麻豆精品视频在线| 亚洲人成7777| 久久综合九色综合欧美就去吻| 色菇凉天天综合网| 国产毛片一区二区| 婷婷丁香激情综合| 最新日韩在线视频| 日韩女优电影在线观看| 精品国产91洋老外米糕| 欧美日韩亚洲综合在线| 欧美激情自拍偷拍| 老司机精品视频线观看86 | 成人精品鲁一区一区二区| 亚洲综合久久av| 欧美国产一区在线| 精品久久久久一区| 4438x亚洲最大成人网| 岛国精品在线播放| 国产一区欧美二区| 日韩精品三区四区| 亚洲国产精品人人做人人爽| 国产精品美女久久久久久 | 成人免费黄色大片| 蜜臀久久99精品久久久画质超高清| 亚洲激情av在线| 久久婷婷色综合| 日韩一区二区三区在线视频| 欧美群妇大交群中文字幕| 日本韩国欧美一区二区三区| 成人黄色电影在线| 大桥未久av一区二区三区中文| 国产精品一区免费在线观看| 麻豆国产精品777777在线| 日韩激情视频在线观看| 午夜国产精品一区| 一级做a爱片久久| 亚洲日本va在线观看| 久久久一区二区三区捆绑**| www国产成人免费观看视频 深夜成人网| 欧美精品1区2区3区| 9191久久久久久久久久久| 欧美日韩国产三级| 日韩欧美久久久| 日韩精品在线网站| 久久在线观看免费| 国产免费久久精品| 国产精品久久久久久久久久免费看 | 青娱乐精品视频| 奇米777欧美一区二区| 激情综合五月婷婷| 国产suv精品一区二区6| 成人免费高清在线| 色综合 综合色| 这里只有精品电影| 亚洲精品一区二区三区香蕉| 久久久av毛片精品| 最新热久久免费视频| 亚洲福利视频导航| 麻豆国产91在线播放| 国产成人午夜片在线观看高清观看| 国产精品一区二区三区网站| 99久久久精品| 欧美日韩国产中文| 久久久久国产成人精品亚洲午夜| 中文字幕在线不卡一区| 天堂一区二区在线| 丰满少妇久久久久久久| 欧美无乱码久久久免费午夜一区 | 久久久五月婷婷| 亚洲三级电影网站| 日本成人在线不卡视频| 成人美女在线视频| 欧洲视频一区二区| 精品国产乱子伦一区| 一区在线播放视频| 三级一区在线视频先锋| 一区二区三区四区av| 国产91丝袜在线18| 国产精品免费看片| 51精品国自产在线| 国产午夜亚洲精品午夜鲁丝片| 17c精品麻豆一区二区免费| 日韩av一区二| 91丨porny丨国产入口| 在线播放中文字幕一区|