• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    一個很COOL的對話框彈出效果

    發布: 2007-7-14 21:11 | 作者: 佚名    | 來源: 網絡轉載     | 查看: 23次 | 進入軟件測試論壇討論

    領測軟件測試網 內容:
    //1.在實現文件中的include之后加入一個輔助函數


    void WINAPI DrawWireRects(LPRECT lprcFrom, LPRECT lprcTo, UINT nMilliSecSpeed)
    {
        const int nNumSteps = 10;

    GdiFlush();
        Sleep(50);  // Let the desktop window sort itself out

    // if hwnd is null - "you have the CON".
    HDC hDC = ::GetDC(NULL);

    // Pen size, urmmm not too thick
        HPEN hPen = ::CreatePen(PS_SOLID, 2, RGB(0,0,0));

    int nMode = ::SetROP2(hDC, R2_NOT);
    HPEN hOldPen = (HPEN) ::SelectObject(hDC, hPen);

    for (int i = 0; i < nNumSteps; i++)
    {
            double dFraction = (double) i / (double) nNumSteps;

            RECT transition;
            transition.left   = lprcFrom->left + (int)((lprcTo->left - lprcFrom->left) * dFraction);
            transition.right  = lprcFrom->right + (int)((lprcTo->right - lprcFrom->right) * dFraction);
            transition.top    = lprcFrom->top + (int)((lprcTo->top - lprcFrom->top) * dFraction);
            transition.bottom = lprcFrom->bottom + (int)((lprcTo->bottom - lprcFrom->bottom) * dFraction);

    POINT pt[5];
    pt[0] = CPoint(transition.left, transition.top);
    pt[1] = CPoint(transition.right,transition.top);
    pt[2] = CPoint(transition.right,transition.bottom);
    pt[3] = CPoint(transition.left, transition.bottom);
    pt[4] = CPoint(transition.left, transition.top);

    // We use Polyline because we can determine our own pen size
    // Draw Sides
    ::Polyline(hDC,pt,5);

    GdiFlush();

    Sleep(nMilliSecSpeed);

    // UnDraw Sides
    ::Polyline(hDC,pt,5);

    GdiFlush();
    }

    ::SetROP2(hDC, nMode);
    ::SelectObject(hDC, hOldPen);

    ::ReleaseDC(NULL,hDC);
    }


    //2.為About對話框加入:
       CRect m_rectFrom;//成員變量


    //3.在About的OnCreaet中加入:
    if (!m_rectFrom.IsRectEmpty())
    {
    CRect rectTo(lpCreateStruct->x,lpCreateStruct->y,
    lpCreateStruct->x + lpCreateStruct->cx,
        lpCreateStruct->y + lpCreateStruct->cy);
             
       DrawWireRects(m_rectFrom, rectTo, 20);
         
    //  DrawAnimatedRects(m_hWnd, IDANI_CAPTION, m_rectFrom,rectTo);
      //     不要效果時

    }

      //在About的DestoryWindow上加入:

    if (!m_rectFrom.IsRectEmpty())
    {
    CRect rect;
    GetWindowRect(rect);

              rect.DeflateRect(2,2);
             DrawWireRects(rect, m_rectFrom, 20);
          
        // DrawAnimatedRects(m_hWnd,IDANI_CAPTION, rect, m_rectFrom);
        //  不要效果時
    }

    //激活時用:
    CAboutDlg about;
    m_btn.GetWindowRect(about.m_rectFrom);
            about.DoModal();
    ______________________________________________________________
    //如果要用于主窗口,則將上OnCreate和DestoryWindow改為主窗口的
    //變量m_rectFrom也改為主窗口的

    //然后在APP類的dlg.DoModal();之前加入:

         CRect rc(0,0,1,1);//變出的位置
         dlg.m_rectFrom=rc; 

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>