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

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

?? pagewin.cpp

?? 英文版的 想要的話可以下載了 為大家服務
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
/*
 * PAGEWIN.CPP
 * Patron Chapter 20
 *
 * 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一区二区三区免费野_久草精品视频
一区二区三区中文在线观看| 91视频在线观看| 亚洲激情图片一区| 欧美国产激情一区二区三区蜜月| 欧美人与性动xxxx| 欧美日韩亚洲综合| 不卡的看片网站| 97国产一区二区| 色妞www精品视频| 91精品1区2区| 欧美猛男男办公室激情| 91蜜桃在线免费视频| 国产大片一区二区| 国产成人亚洲综合色影视| 激情六月婷婷综合| 成人动漫av在线| 99视频在线精品| 777xxx欧美| 久久影院午夜论| 国产精品午夜电影| 亚洲成在人线在线播放| 亚洲另类中文字| 裸体健美xxxx欧美裸体表演| 国产a区久久久| 91网站最新地址| 91精品国产一区二区| 久久精品视频在线看| 亚洲欧美韩国综合色| 亚洲精品高清视频在线观看| 五月天亚洲婷婷| 国产精品中文字幕日韩精品| 91丨porny丨国产| 欧美成人激情免费网| 国产精品久久久久久久久免费樱桃| 亚洲精品视频在线| 国产尤物一区二区| 在线观看国产日韩| 日韩一区二区电影| 日韩欧美三级在线| 一区二区三区四区在线| 中文字幕av在线一区二区三区| 日韩欧美在线观看一区二区三区| 中文字幕一区二区三区蜜月| 日韩成人午夜精品| 国产精品亚洲第一区在线暖暖韩国| 91免费观看视频| 6080亚洲精品一区二区| 中文字幕日韩av资源站| 亚洲欧洲成人精品av97| 精品一区二区免费视频| 欧美日韩精品三区| 欧美无人高清视频在线观看| 久久精品视频网| 麻豆高清免费国产一区| 国产成人高清视频| 精品国产露脸精彩对白| 日日夜夜一区二区| 日本精品一区二区三区高清| 国产欧美精品一区二区三区四区| 午夜精品福利在线| 日韩一区二区三区av| 亚洲啪啪综合av一区二区三区| 国产在线麻豆精品观看| 欧美色精品天天在线观看视频| 国产精品色在线| 国产又粗又猛又爽又黄91精品| 日韩欧美第一区| 麻豆一区二区三| 欧美精品在线观看播放| 亚洲一区免费在线观看| 在线亚洲一区观看| 亚洲一区二区三区四区中文字幕| 99久久免费国产| 亚洲丝袜制服诱惑| 色拍拍在线精品视频8848| 亚洲女人小视频在线观看| av在线综合网| 夜夜夜精品看看| 欧美日韩国产欧美日美国产精品| 偷窥国产亚洲免费视频| 91麻豆精品国产91久久久更新时间 | 欧美自拍偷拍午夜视频| 亚洲国产综合91精品麻豆| 在线免费观看日本欧美| 午夜精品一区二区三区免费视频| 欧美日韩一区三区四区| 日本不卡一二三| 精品国产免费一区二区三区香蕉| 国模冰冰炮一区二区| 国产欧美日韩精品一区| eeuss鲁片一区二区三区| 亚洲视频在线观看三级| 91黄色免费观看| 日韩av中文字幕一区二区三区 | 国产亚洲精品精华液| 成人综合婷婷国产精品久久蜜臀| 日韩欧美色综合| 不卡av电影在线播放| 亚洲6080在线| 久久久久久久久97黄色工厂| 波多野结衣亚洲一区| 午夜亚洲福利老司机| 日韩欧美国产三级| 91视频观看视频| 麻豆成人久久精品二区三区红| 精品国产乱码久久| 一本色道久久综合精品竹菊| 韩国精品一区二区| 亚洲婷婷国产精品电影人久久| 欧洲视频一区二区| 国产精品小仙女| 天堂午夜影视日韩欧美一区二区| 日韩欧美在线影院| 91欧美激情一区二区三区成人| 日韩精品一区第一页| 国产精品国产三级国产aⅴ中文 | 国产电影精品久久禁18| 一区二区三区在线观看网站| 日韩一区二区免费电影| 成人av电影免费观看| 五月综合激情日本mⅴ| 久久日韩粉嫩一区二区三区| 91女神在线视频| 免费观看日韩av| 中文字幕中文字幕中文字幕亚洲无线| 欧美日本在线视频| 99麻豆久久久国产精品免费| 亚洲成人精品一区二区| **欧美大码日韩| 国产午夜亚洲精品不卡| 欧美一区二区视频网站| 日本乱人伦aⅴ精品| 国产91在线观看| 国产美女精品在线| 另类小说图片综合网| 日本成人超碰在线观看| 亚洲一区二三区| 亚洲自拍偷拍av| 亚洲另类在线视频| 中文字幕亚洲区| 国产精品国产精品国产专区不片 | 久久福利资源站| 亚洲成av人影院| 亚洲成人中文在线| 亚洲国产视频直播| 亚洲一区二区三区激情| 国产精品伦理在线| 欧美激情资源网| 国产欧美日韩亚州综合 | 春色校园综合激情亚洲| 国产九色sp调教91| 肉丝袜脚交视频一区二区| 亚洲在线中文字幕| 中文字幕一区二区三区不卡在线 | 国产乱对白刺激视频不卡| 亚洲色欲色欲www在线观看| 国产婷婷一区二区| 中文字幕成人av| 亚洲免费伊人电影| 亚洲激情图片一区| 日韩高清电影一区| 国精产品一区一区三区mba桃花| 蜜桃av一区二区三区电影| 久久精品99久久久| 国产成人av电影| 色先锋aa成人| 欧美日韩国产小视频在线观看| 欧美电影在线免费观看| 欧美电视剧在线看免费| 国产亚洲一二三区| 国产精品对白交换视频 | 成人免费视频播放| 国产白丝网站精品污在线入口 | 一区二区三区在线观看欧美 | 国产精品国产精品国产专区不蜜| 国产精品毛片高清在线完整版| 亚洲精品成人天堂一二三| 亚洲sss视频在线视频| 黄色日韩网站视频| 91在线视频18| 91精品欧美一区二区三区综合在| 精品成人免费观看| 亚洲欧美激情小说另类| 久久精工是国产品牌吗| 成人午夜在线播放| 91麻豆精品91久久久久久清纯| 久久色在线观看| 亚洲一区二区三区四区不卡| 国内欧美视频一区二区| 国产精品一区2区| 欧美日韩国产区一| 中文av字幕一区| 麻豆国产欧美日韩综合精品二区| 99久久精品久久久久久清纯| 欧美精品在线一区二区三区| 国产精品网站一区| 久久www免费人成看片高清| 色婷婷综合激情| 国产精品欧美极品| 美国欧美日韩国产在线播放|