• <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 閱讀(394) 評論(0)  編輯 收藏 引用

            成人综合久久精品色婷婷| 久久精品一区二区三区AV| 国产精品18久久久久久vr | 国产免费久久精品99久久| 精品久久人人妻人人做精品| 国产精品99久久精品爆乳| 久久久久久久97| 91精品国产高清久久久久久国产嫩草| 亚洲午夜精品久久久久久人妖| 久久99热这里只有精品国产 | 亚洲精品无码久久久久AV麻豆| 久久人做人爽一区二区三区| 97精品久久天干天天天按摩| 亚洲欧美国产日韩综合久久| 99久久精品费精品国产一区二区| 久久久久久久综合日本| 久久亚洲精品国产精品| 久久国产精品偷99| 久久A级毛片免费观看| 合区精品久久久中文字幕一区 | 国产精品成人久久久| www.久久99| 伊人久久综合精品无码AV专区| 国产精品成人久久久久三级午夜电影 | 久久精品国产亚洲5555| 久久亚洲精品视频| 色综合久久无码五十路人妻| 亚洲国产日韩欧美综合久久| 99热成人精品免费久久| 久久精品毛片免费观看| 日韩AV无码久久一区二区| 深夜久久AAAAA级毛片免费看| 亚洲综合精品香蕉久久网97 | 久久精品亚洲男人的天堂| 伊人久久综在合线亚洲2019| 99久久婷婷免费国产综合精品| 亚洲AV无码一区东京热久久| 久久天天躁夜夜躁狠狠| 久久午夜无码鲁丝片秋霞| 久久AV高潮AV无码AV| 99蜜桃臀久久久欧美精品网站|