• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            隨筆 - 25, 文章 - 0, 評論 - 6, 引用 - 0
            數據加載中……

            筆記 文本走馬燈特效

            SizeF stringSize, strSize(1000,1000);

                if (m_bStatic)
                {
                    /// <靜止,居中>
                    fmt.SetAlignment(StringAlignmentCenter);
                    fmt.SetLineAlignment(StringAlignmentCenter);
                
                    graph.MeasureString(m_wstrText.c_str(), m_wstrText.length(), &font, strSize, &fmt, &stringSize);
                    
                    RectF rectf(m_rect.GetLeft(), m_rect.GetTop(), m_rect.Width, min(m_rect.Height, stringSize.Height));
                    DrawString(graph, m_wstrText, font, solidBrush, rectf, fmt);
                }
                else
                {
                    /// <左移,左對齊>
                    fmt.SetAlignment(StringAlignmentNear);
                    fmt.SetLineAlignment(StringAlignmentNear);

                    /// <測量輸出字符串所需要的矩形空間>
                    std::wstring wstr = m_wstrText;        
                    graph.MeasureString(wstr.c_str(), wstr.length(), &font, strSize, &fmt, &stringSize);

                    double fProgress = m_timeInfo.GetProgress();
                    //REAL fOffsetX = max(m_rect.Width, stringSize.Width) * fProgress;
                    REAL fOffsetX = (stringSize.Width + m_rect.Width) * fProgress;
                    REAL fDiffx = fOffsetX - m_rect.Width;
                    
                    if (fDiffx > 0.000001)
                    {
                        int nLength = 1;
                        std::wstring wstrTmp = L"";
                        do
                        {
                            wstrTmp = wstr.substr(0, nLength++);
                            graph.MeasureString(wstrTmp.c_str(), wstrTmp.length(), &font, strSize, &fmt, &stringSize);
                        }while(stringSize.Width < abs(fDiffx));

                        --nLength;
                        wstr = wstr.substr(nLength, wstr.length() - nLength);
                    }

                    graph.MeasureString(L"1", 2, &font, strSize, &fmt, &stringSize);

                    fOffsetX = max(m_rect.GetLeft(), m_rect.GetRight() - fOffsetX);
                    RectF rect(fOffsetX, m_rect.GetTop(), min(m_rect.Width, max(1, m_rect.GetRight() - fOffsetX)), min(m_rect.Height, stringSize.Height));
                    DrawString(graph, wstr, font, solidBrush, rect, fmt);
                }

            posted on 2014-09-01 11:49 chenjt3533 閱讀(388) 評論(0)  編輯 收藏 引用

            久久久久亚洲AV无码网站| 亚洲精品无码久久一线| 久久影视综合亚洲| 久久久久久伊人高潮影院| 久久精品国产一区| 亚洲国产成人久久综合一区77 | 人人狠狠综合久久亚洲婷婷| 久久99精品久久久久久不卡| 久久精品中文騷妇女内射| 久久久久无码国产精品不卡| 久久人人爽人人爽人人AV东京热| 欧美午夜A∨大片久久| 国产成人久久精品区一区二区| 亚洲国产小视频精品久久久三级 | 亚洲国产日韩欧美综合久久| 国产精品9999久久久久| 99精品国产免费久久久久久下载 | 亚洲一本综合久久| 国内精品久久久久影院日本| 国产激情久久久久久熟女老人| 97精品伊人久久久大香线蕉| 女人香蕉久久**毛片精品| 亚洲av日韩精品久久久久久a | 久久青青草原精品国产不卡| 69SEX久久精品国产麻豆| 色妞色综合久久夜夜| 日本五月天婷久久网站| 亚洲午夜久久久| 色综合久久中文字幕综合网| 久久精品国产欧美日韩| 久久福利片| 免费一级做a爰片久久毛片潮| 久久久WWW免费人成精品| 激情综合色综合久久综合| 欧美一区二区精品久久| 丰满少妇人妻久久久久久4| 99久久精品国产毛片| 亚洲国产成人精品久久久国产成人一区二区三区综 | 一本久久a久久精品综合夜夜| 久久最近最新中文字幕大全| 国产亚洲婷婷香蕉久久精品|